final修饰符具有“不可改变的”的含义,他可以修饰非抽象类、非抽象成员方法和变量。
用final修饰的类不能被继承,没有子类;
用final修饰的方法不能被子类的方法覆盖;
用final修饰的变量表示常量,只能被赋一次值。
final类
不是专门为继承而设计的类。类本身的方法之间有复杂的调用关系,假如随意创建这些类的子类,子类有可能会错误地修改父类的实现细节;
出于安全的原因,类的实现细节不允许有任何改动;
在创建对象模型时,确信这个类不会再被扩展。
final方法
在某些情况下,出于安全的原因,父类不允许子类覆盖某个方法,此时可以把这个方法声明为final类型。
final变量
用final修饰的变量表示取值不会改变的常量。
final变量具有以下特征:
(1)final修饰符可以修饰静态变量、实例变量和局部变量,分别表示静态常量、实例常量和局部常量。
Tips:
静态常量一般以大写字母命名,单词之间以“_”符号分开。如:
public static final int MAX_VALUE = 2147483647;
(2)final变量都必须显式地初始化。而曾经提到过没有final修饰的成员变量可以不必显式初始化。
(3)final变量只能赋一次值。
(4)如果将引用类型的变量用final修饰,那么该变量只能始终引用一个对象,但可以改变对象的内容。
在程序中通过final修饰符来定义变量,具有以下作用:
提高程序的安全性,禁止非法修改取值并且不允许改变的数据;
提高程序代码的可维护性;
提高程序代码的可读性。
posted on 2006-11-29 00:45
EricWong 阅读(271)
评论(0) 编辑 收藏 所属分类:
Java