首页 > 编程 > Java > 正文

JAVA的修饰词(2)-----final

2019-11-09 19:43:32
字体:
来源:转载
供稿:网友

final:最终 使修饰的类,成员等具有最终属性(就没法改了)


1.从继承的弊端说起


打破了封装性。父类的功能可以被子类重写。

如何解决: 可以不让其他类继承该类,就不会有重写了

如何实现: 用final修饰词


2.final特点


1)可以修饰类,方法,变量(成员,局部,静态) 2)final修饰的类不能被继承

举例

final class Fu{ PRivate void show1(){ System.out.println("show1 run"); }}class Zi extends Fu{ public void show2(){ System.out.println("show2 run"); }}

会出现编译错误:

Demo.java:6: 错误: 无法从最终Fu进行继承class Zi extends Fu{ ^1 个错误

3)如果在类中部分可以重写,部分不可以,那么用final修饰方法

举例

class Fu{ final void show(){ System.out.println("show1 run"); }}class Zi extends Fu{ void show(){ System.out.println("show2 run"); }}

编译错误:

Demo.java:7: 错误: Zi中的show()无法覆盖Fu中的show() void show(){ ^ 被覆盖的方法为final1 个错误

3.final 使用时注意


当一个变量,类似于 PI 这种,需要保证这个变量值不变,要加上final修饰,变成一个“常量”。 并且,被final修饰的常量名字母大写,多个单词之间用“_”链接


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表