当一个类的方法被final关键字修饰后,这个类的子类将不能重写该方法。
// 定义动物类 class Animal { public final void shout() { } } // 定义dog类继承动物类 class Dog extends Animal { public final void shout() { } } public class Example { public static void main(String[] args) { Dog dog = new Dog(); } }
编译程序报错
Dog 类重写父类Animal中的shout()方法后,编译报错。这是因为Animal类的shout()方法被final所修饰。由此可见,被final关键字修饰的方法为最终方法,子类不能对该方法进行重写。正是由于final的这种特性,当在父类中定义某个方法时,如果不希望被子类重写,就可以使用final关键字修饰该方法。