更新时间:2021-06-24 来源:黑马程序员 浏览量:

当一个类的方法被final关键字修饰后,这个类的子类将不能重写该方法。接下来通过一个案例来进行验证,如文件1所示。
文件1 Example09.java
// 定义Animal类
class Animal {
// 使用final关键字修饰shout()方法
public final void shout() {
}
}
// 定义Dog类继承Animal类
class Dog extends Animal {
// 重写Animal类的shout()方法
public void shout() {
}
}
// 定义测试类
public class Example09 {
public static void main(String[] args) {
Dog dog=new Dog(); // 创建Dog类的实例对象
}
}程序编译报错,如图1所示。
图1 运行结果
文件1中,Dog类重写父类Animal中的shout()方法后,程序出现了“Cannot override the final method from Animal(无法重写父类final方法)”的错误。由此可见,被final关键字修饰的方法为最终方法,子类不能对该方法进行重写。正是由于final的这种特性,当在父类中定义某个方法时,如果不希望被子类重写,就可以使用final关键字修饰该方法。
全国13城校区全覆盖|黑马程序员AI大模型开发(Python),就近学习、全国就业
2026-04-08黑马程序员AI大模型开发(Python)|大厂共建+实战赋能,学完即具备企业项目能力
2026-04-08黑马程序员AI大模型开发(Python)|5阶段体系化教学,从入门到精通全覆盖
2026-04-08黑马程序员AI大模型开发(Python)|培养企业应用型人才,适配行业核心需求
2026-04-08黑马程序员AI智能应用开发|上市品牌背书,大厂联合研发,打造AI复合型人才
2026-04-08全国13城校区全覆盖|黑马程序员AI智能应用开发,就近学、就近就业
2026-04-08