欢迎来到天天文库
浏览记录
ID:1642373
大小:2.14 MB
页数:24页
时间:2017-11-12
《java的常用修饰符功能分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//本次对java修饰符的探讨主要是用myeclipse开发工具来进行。Java主要修饰符分析(武汉理工大学软件1004某某人)一、访问类修饰符(public、private、protected、friendly/default、 private protected )1.访问修饰符修饰类 (1)不能用private、protected修饰类,否则会出现编译错误,如下图: (2)用friendly/default修饰类(不加修饰符默认为friendly类),也就是友好类,必须要跟引用自己的另一个类在同一个包,如下图:
2、 若在同一包,编译运行无错误。若不在同一包,则会出错,如下图: (3)用public修饰类,无论在哪个包都能被使用,如上图所示。但是,在一个xxx.java文件里最多只有一个publicclass, 上图中没有引用类Test5_1,运行结果正确,但是程序中却会提醒错误,并且Test_5_1就没用了。再看下图: 上图中,程序引用了类Test5_1,于是出错了。因此,一个java文件里面最多只能有一个publicclass。2.访问修饰符修饰成
3、员变量和方法 (1). 上图是四种访问修饰符访问控制权限,下面以程序来验证其正确性(只讨论成员变量): 类Test_6和类Test_6_1在包cn.com.one里, 将同包的类使用私有成员的语句注释掉,运行结果无错误,如下图: 将注释去掉后编译运行,出现错误,如下图: 而类Test_7和类Test_7_1在包cn.com.two里, 如上图将某些语句注释掉,运行结果无错误,如下图: 将前两个注释去掉后编译运行,出现错误,如下图:
4、 将后三个注释去掉后编译运行,出现错误,如下图: 因此,验证结果正确。 (2).用privateprotected(私有保护访问修饰符)修饰成员变量: 用此修饰符修饰的成员变量只可以被两种类访问和引用,一种是该类本身,一种是该类的所有子类。把同一包的非子类排除在可访问的范围之外,使得成员变量更专于具有明确继承关系的类,而不是松散地组合在一起的包。 以上是找资料查到的,但是在操作时却发现了错误!!!根本不能用privateprotected修饰成员变量,如下图: 二、非访问修饰符(fi
5、nal、abstract、static、native)1.final修饰符: (1)用final修饰类 被final修饰的类叫做最终类,(并且里面的方法必须都是final方法,这个后面再作讨论),此类不能被继承。通常一些系统类或者一些有固定作用、用来完成某种标准功能的类都是要用final来修饰,这样可以避免被子类修改到重要的数据而导致严重的错误。戏称“断子绝孙类”。如Java系统定义好的常见的String类、用来实现网络功能的InterAddress、Socket等类都是final类。 下面来验证一下: 首先图1的
6、程序定义了一个final类,但没有继承它,运行结果正确。 图2的程序也定义了一个fanal类,但被另一个类继承它了,编译就会出现错误。 (2)用final修饰方法: 用final修饰的类方法叫做最终方法,此方法能被继承,但不能被覆盖,最终方法的功能和内部语句都不能再更改。 (所有已被private修饰符限定为私有方法,以及所有包含在final类中的方法,都被缺省地认为是final的。) 下图为验证结果: (3)用final修饰变量:
7、 用final修饰的变量即为常量,通过类的对象来使用;而若用staticfinal修饰,该变量也为常量,可由类名直接访问。 如下图: (注意:常量不能修改!) 2.abstract修饰符(不能修饰变量): (1)用abstract修饰类: 凡是用abstract修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。 抽象类是一种经过优化的概念组织方式:把共同特点抽象出来;其后在描述和处理某一种具体对象时,就只需描述不同的特殊之处。这种组织方式使得所有的概
8、念层次分明,简洁洗练,非常符合人们日常的思维习惯。 由于抽象类时它的所有子类的公共属性的集合,所以使用抽象类的一个优点就是可以充分利用这些公共属性来提高开发和维护程序的效率。 抽象类不
此文档下载收益归作者所有