java类中final方法的作用

  1. 不给子类复写这个方法。说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用
  2. inline扩展。允许编译器将所有对此方法的调用转化为inline调用的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体非常庞大时,或你在多处调用此方法,那么你的调用主体代码便会迅速膨胀,可能反而会影响效率,所以你要慎用final进行方法定义

  在工厂模式中,抽象类的除了工厂方法(需要被子类扩展并且复写以达到工厂模式的作用)外的方法,若不想被扩展的子类复写修改,可以声明为final类型

posted @ 2014-09-11 14:58  soaringEveryday  阅读(884)  评论(0编辑  收藏  举报