java什么时候使用private public protect static
2012-05-26 14:28
357 查看
一.Java访问权限饰词(accessspecifiers) Java有public、protect、friendly、private四种访问权限,并且这四访问权限的访问范围越来越小。 1.friendly 1)果一个class内的数据成员或方法没有任何权限饰词,那么它的缺省访问权限就是friendly。同一个package内的其它所有classes都可以访问friendly成员,但对package以外的classes则形同private。 2)对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录的defaultpackage,可以相互调用class中的friendly成员。如以下两个class分别在同一个文件夹的两个文件中,虽然没有引入package,但隶属于相同的defaultpackage。 classSundae{ //以下两个方法缺省为friendly Sundae(){} Voidf(){System.out.println(“Sundae.f()”); } publicclassIceCream{ publicstaticvoidmain(String[]args){ Sundaex=newSundae(); x.f(); } } 2.public:可以被任何class调用 3.private:private成员只能在成员所属的class内被调用,如: classSundae{ privateSundae(){}//只能在Sundaeclass中被调用 Sundae(inti){} staticSundaemakASundae(){ returnnewSundae(); } } publicclassIceCream{ publicstaticvoidmain(String[]args){ //Sundaeclass中构造函数Sundae()是private, //所以不能用它进行初始化 //Sundaex=newSundae(); Sundaey=newSundae(1);//Sundae(int)是friendly,可以在此调用 Sundaez=Sundae.makASundae(); } } 4.protected:具有friendly访问权限的同时,又能被subclass(当然包括子孙类,即子类的子类)所访问。即,既能被同一package中的classes访问,又能被protected成员所在class的subclass访问。 二.Class的访问权限 1.Class同样具有public、protect、friendly、private四种访问访问权限: 1)public:在任何地方都可被使用 2)protect、private:除了它自己,没有任何class可以使用,所以class不能是 protected或private(innerclass除外) 3)friendly:同一个package中的classes能用 2.如何调用构造函数被声明为private的class 1)用static函数 2)用Singteton模式 classSoup{ privateSoup(){} //(1)静态函数方法 publicstaticSoupmakeSout(){ returnnewSoup(); } //(2)The"Singleton"pattern: privatestaticSoupps1=newSoup(); publicstaticSoupaccess(){ returnps1; } publicvoidf(Stringmsg){ System.out.println("f("+msg+")"); } } publicclassLunch{ publicstaticvoidmain(String[]args){ //Souppriv1=newSoup();编译错误 Souppriv2=Soup.makeSout(); Souppriv3=Soup.access(); priv2.f("priv2"); priv3.f("priv3"); }
文章来源:http://zhidao.baidu.com/question/126069870.html
相关文章推荐
- Java什么时候用static,public,private,protected?
- JAVA面向对象--final、static、public、private、protected、(缺省)
- public、protect、private在父类子类中使用
- java2.this、static、super、final关键字,public、protect、default、private权限
- 在一个java类里,private int a; 什么时候要使用integer
- java final static public private protected关键字
- 我的java学习之路访问修饰符public protect private ;另外instanceof
- Java public ,protect,friendly,private的方法权限
- Java中public、private、protect对数据成员或成员函数的访问限制
- JAVA学习笔记-public、protected、private、abstract、static和final
- java中的public、private、package、protect
- Java中的修饰符说明(public,private,protected,default,final,abstract,static)
- Java中访问修饰符public、private、protect、default范围
- java public protect default private 的作用域
- java基础之关键字二( package、 class、import )和( static、fina ) 和(public、protected、private)
- Java中访问修饰符public、private、protect、default范围
- Java修饰符:public、protected、private、abstract、static和final区别
- java基础学习(7)浅析final,private,public,protected,static等关键以及它们的区别的联系
- java中public,private,protect,default区别
- java--public_private_void_static功能作用