编写程序时可能需要把类定义为不能继承的,即最终类,或者是有的方法不希望被子类继承,这时候就需要使用final 关键字来声明。把类或方法声明为final 类或final 方法的方法。
很简单,在类前面加上final 关键字即可。
方法也可以被声明为final 的,形式如下。
例如:
需要注意的是,实例变量也可以被定义为 final,被定义为 final 的变量不能被修改。被声明为 final 的类的方法自动地被声明为 final,但是它的实例变量并不是 final。
final 关键字可用于修饰类、变量和方法,它有“无法改变”或者“最终”的含义,因此,被final 修饰的类、变量和方法将具有以下特性:
(1)final 修饰的类不能被继承。
(2)final 修饰的方法不能被子类重写。
(3)final 修饰的变量(成员变量和局部变量)是常量,只能赋值一次。
1. final 关键字修饰类
Java 中的类被final 关键字修饰后,该类将不可以被继承,也就是不能够派生子类。
final 可以修饰变量或者方法。在某些情况下,可能有以下需求:
(1)当不希望父类的某个方法被子类覆盖(override)时,可以用final 关键字修饰。
(2)当不希望类的某个变量的值被修改,可以用final 修饰。如果一个变量是final,则必须赋初值,否则编译出错。(www.xing528.com)
(3)当不希望类被继承时,可以用final 修饰。
【例5.7】final 方法的使用案例演示,如文件5-7 所示。
文件5-7 Example07.java
执行结果
2. 注意事项。
(1)final 修饰的变量又叫常量,一般用XX_XX_XX 来命名(带下划线)。
(2)final 修饰的变量在定义时,必须赋值,并且以后不能再赋值。
3. 使用范围。
(1)因为案例的考虑,类的某个方法不允许修改。
(2)类不会被其他的类继承。
(3)某些变量值是固定不变的,比如圆周率3.141 592 6。
【例5.8】下面通过如下案例来验证使用final 关键字修饰Animal 类时,子类会报错,如文件5-8 所示。
文件5-8 Example08.java
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。