说到final的用处就得说一下继承的弊端:破坏了封装,并且子类可以任意修改,可以覆盖父类的字段和方法
如果在字段方法中加上private,则子类干脆无法访问父类中的此字段,方法。
当父类中的字段加上final时,则子类可以调用但不可以被覆盖
父类中的方法加上final时,可调用不可修改
父类前加上final时,则此类不可被继承
final修饰字段时必须初始化
在修饰变量时,此变量变为了常量(无法再改动),并且命名时所有字母均要大写。
(若此变量为基本数据类型,代表的是值无法修改,
若为引用数据类型,则代表地址无法修改)
class Subclass{}
class Test{
public static void main(String[] args){
final a = 10;
a = 20;(错误)
final Subclass sub = new Subclass()
sub = new Subclass();(错误)
}
}
final可以在局部代码块中使用