欢迎来到天天文库
浏览记录
ID:5560991
大小:359.50 KB
页数:24页
时间:2017-12-18
《java主要修饰符用法分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java主要修饰符的用法分析武汉理工大学软件1004班陈丹枫Protected1)修饰成员变量相同包中的类可以访问(包访问权限);即用package打包在一起的类可以相互访问其他类中protected修饰的成员。没有使用package打包的,在同一目录下的类也会被视做同一个包。例1:packagepackge1;publicclassA{protectedinta;protectedvoidf(){System.out.println("IamA'sprotectedfunction.");}}publicclas
2、sB{publicstaticvoidmain(String[]agrs){Aclassa=newA();classa.a=10;System.out.println("A'sprotectedmembera="+classa.a);classa.f();}}运行结果如下图:2)修饰类类不可以声明为protected类型。Private1)修饰成员变量只能在该成员隶属于的类中访问,任何类的private成员都不能被其他类访问。例2:packagepackge1;publicclassA{privateinta=0;
3、privatevoidf(){System.out.println("IamA'sprivatefunction.");}publicstaticvoidmain(String[]agrs){Aclassa=newA();System.out.println("A'sprivatemembera="+classa.a);classa.f();}}运行结果如下:如果访问其他类的private成员运行时会出现以下错误:2)修饰类类不可以声明为private类型。Public1)修饰成员变量表明该成员变量和方法是共有的,
4、能在任何情况下被访问。即任何其他类都可以访问它们,不管在同一个包中还是在另外的包中。例3:packagepackge1;publicclassA{publicinta=0;publicvoidf(){System.out.println("IamA'spublicfunction.");}}publicclassB{publicstaticvoidmain(String[]agrs){Aclassa=newA();classa.a=10;System.out.println("InclassB"+""+"A's
5、publicmembera="+classa.a);classa.f();}}packagepackage2;importpackge1.A;publicclassC{publicstaticvoidmain(String[]agrs){Aclassb=newA();classb.a=20;System.out.println("InclassC"+""+"A'spublicmembera="+classb.a);classb.f();}}运行结果如下:2)修饰类跟修饰成员的规则一样。例3中classA就是pu
6、blic类型的,classB与classA在同一个package中,能够调用classA并生成相应的对象;classC与classA在不同package中,但它也能够调用classA,并生成相应对象。可见public修饰类的规则和修饰成员变量时的使用规则是一样的。Friendly1)修饰成员变量如果一个类的成员没有任何权限修饰,那么它们就是缺省包访问权限,用friendly来表示,注意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外就不可以。对于同一个文件夹
7、下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录的defaultpackage,可以相互调用class中的friendly成员。例4:packagepackge1;publicclassA{inta=0;voidf(){System.out.println("IamA'sfriendlyfunction.");}}publicclassB{publicstaticvoidmain(String[]agrs){Aclassa=newA();classa.a=10;Sys
8、tem.out.println("InclassB"+""+"A'sfriendlymembera="+classa.a);classa.f();}}运行结果如下:如果其他包中的类要调用classA中的friendly类型变量,则运行时会出现如下的错误:2)修饰类同一个包中的类可以用。例5:packagepackge1;classA{inta=0;voi
此文档下载收益归作者所有