1 .final关键字修饰的类无法再被子类继承
父类代码:
package inherit;
//用final关键字修饰父类
final public class Agnate {
//写父类的构造方法
public Agnate() {
System.out.println("父类的构造方法被执行了");
}
}
子类继承
package inherit;
public class Subclass extends Agnate {
//写子类构造方法
public Subclass() {
System.out.println("子类的构造方法执行了");
}
//写子类的
public static void main(String[]args) {
Subclass son= new Subclass();
}
}
报错内容:The type Subclass cannot subclass the final class Agnate
2.final 修饰的方法
试图重写被final修饰的父类的方法
错误提示:
Multiple markers at this line
- overrides inherit.Agnate.print
- Cannot override the final method from
Agnate
试图改写final变量的值
错误提示:
The final field Subclass.a cannot be assigned
总结:
被final修饰的类不能继
被final修饰的方法不能重写
被final修饰的变量不能重新赋值