简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/11/26/2789749.html

你可以将类的一些方法声明为final.使用final关键字声明方法,指示这个方法不能被子类覆盖。
Object类就是这么做的,他的一些方法就是final.

如果一个类的方法的是对象状态一致性的关键,所以它的实现不能被改变,你可能会希望创建一个方法为final的.例如,你希望让getFirstPlayer放在在类ChessAlgorithm为final:

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

 

构造方法调用的方法应该是声明为final,如果一个构造方法调用一个非final的方法,一个子类可能重定义这个方法,导致了一些令人吃惊的结果
注意你也可以将整个类声明为final,一个类如果是这么声明,表示它不能被继承,有时这个特性是非常有用的,例如,当创建一个不变的String类。

posted on 2012-11-26 20:51  ggjucheng  阅读(703)  评论(0编辑  收藏  举报