欢迎来到天天文库
浏览记录
ID:33335301
大小:110.50 KB
页数:22页
时间:2019-02-24
《java主要修饰符的使用方法总结(周双)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java中主要修饰符的使用(周双)武汉理工大学计算机学院软件sy1001班周双(0121010680234)Java中定义了6个常用修饰符:public、protected、private、abstract、static、final。访问控制符:公开级别:public;受保护级别:protected;默认级别:friendly(一般不指明);私有级别:private。类只能使用public和默认级别修饰。其中类的属性和方法可以使用上述4个访问修符;局部变量不可以使用访问修饰符;常用的方法是将类的属性设为
2、private,而将类的方法设为public。abstract修饰符:abstract修饰符可以用来修饰类和成员方法:用abstract修饰抽象类,表示该类不可以被实例化。相对应的则称为具体类。用abstract修饰的方法成为抽象方法,该方法没有方法体。抽象方法用来描述系统具有什么功能。final修饰符:final修饰符表示不可以改变的含义。final修饰符可以用来修饰类,成员方法,和成员变量。用final修饰类,表示该类不可以被继承;用final修饰成员方法,表示该方法不可以被覆盖(override)
3、;用final修饰变量,表示一旦赋值就不可以被改变。注意,final变量必须被显式初始化。对于实例变量可以在定义时或在构造方法中进行初始化。而类变量(static变量)必须在定义时进行初始化。对于final修饰的引用类型,那么该变量在其生命周期中只能指向同一个对象,但可以改变对象的值。Static修饰符:static成员变量表示静态变量,可以直接通过类名来访问。static成员方法表示静态方法,可以直接通过类名来访问。由于static方法中,只可以访问静态变量和方法,所以要想访问一个实例变量或方法,则必
4、须要先得到相应的对象的引用,才能访问其变量和方法。一、类的修饰符Java程序在定义类时,除恶额使用class关键字标识外,还可以在在class之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非访问控制符两大类,下面主要讨论类的费访问控制符。1.1抽象类凡是用abstract修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。比如电话卡有很多类型,磁卡、IC卡、IP卡、200卡、300卡、校园201卡。不同种类的卡有各自的特点,例如磁卡和IC卡没有卡号和密码;使用200
5、卡每次通话要多扣除0.1元的附加费等。同时它们也拥有一些共同的特点,如每张卡都有剩余的金额,都有通话的功能。为此,可以定义一种集合了所有种类的电话卡的公共特点的抽象电话卡如下:AbstractclassPhoneCard{doublebalance;voidperformDial(){…}}抽象类是它的所有子类的公共属性的集合,所以使用抽象类的一大优点就是可以充分利用这些公共属性来提高开发和维护程序的效率。1.2最终类如果一个类被final修饰符所修饰和限定,说明这个类不能再有子类。被定义为final的
6、类通常是一些有固定作用、用来完成某种标准功能的类。将一个类定义为final则可以将它的内容、属性和功能固定下来,与它的类名形成稳定的映射关系,从而引用这个类时所实现的功能的正确无误。注意:abstract和final修饰符不能同时修饰一个类,因为abstract类自身没有具体对象,需要派生出子类后再创建子类的对象;而final类不可能有子类,这样abstractfinal类就无法使用,也就没有意义了。但是abstract和final可以各自与其他大的修饰符合用。例如一个类可以是publicabstrac
7、t的也可以是publicfinal的。一、域本文只介绍静态域和最终域的特点与使用方法。2.1静态域用static修饰符修饰的域是仅属于类的静态域。静态域最主要的特点是:它们是类的域,不属于任何一个类的具体对象。它不保存在某个对象的内存区间中,而是保存在类的内存区域的公共存储单元。换句话说,对于该类的任何一个具体对象而言,静态域是一个公共的存储单元,任何一个类的对象访问它时,取到的都是相同的数值;同样任何一个类的对象去修改它时,也都是在对同一个内存单元进行操作。下面的程序片段中定义了两个静态域。class
8、PhoneCard200{StaticStringconnectNumber=“200”;StaticdoubleadditoryFee;longcardNumber;intpassword;booleanconnected;doublebalance;…}上面程序定义了对应200电话卡的类PhoneCard200.由于所有的200电话卡的接入号码都是“200”,所以定义类的静态域connectNumber标志所有PhoneCard200对
此文档下载收益归作者所有