文档

Java™ 教程
隐藏目录
编写最终类和方法
路径: 学习 Java 语言
课程: 接口和继承
章节: 继承

编写最终类和方法

你可以声明某个类的一些或全部方法为 final。在方法声明中使用 final 关键字表示该方法不能被子类重写。 Object 类就是这样做的,它的许多方法都是 final

如果一个方法有一个不应该改变的实现,并且对对象的一致状态至关重要,那么你可能希望将该方法声明为 final。例如,在这个 ChessAlgorithm 类中,你可能想要将 getFirstPlayer 方法声明为 final:

class ChessAlgorithm {
    enum ChessPlayer { WHITE, BLACK }
    ...
    final ChessPlayer getFirstPlayer() {
        return ChessPlayer.WHITE;
    }
    ...
}

从构造函数调用的方法通常应该声明为 final。如果构造函数调用了一个非 final 的方法,子类可能重新定义该方法,导致意外或不希望的结果。

注意,你也可以将整个类声明为 final。声明为 final 的类不能被继承。这在创建像 String 类这样的不可变类时特别有用。


上一页:作为超类的对象
下一页:抽象方法和类