阻止继承:final类和方法

有时候,可能希望阻止人们利用某个类定义子类.不允许扩展的类被称为final类.如果在定义类的时候使用了final修饰符就表面这个类是final类.例如,假设希望阻止人们定义Executive类的子类,就可以在定义这个类的时候,使用final修饰符声明.

public final class Executive{
      .....
}

类中的特定方法也可以被声明为final.如果这样做,子类就不能覆盖这个方法(final 类中的所有方法自动地称为final方法)例如:

public final class Executive{
      .....
      public final String getName(){
            return name;
      }
      ....
}

前面曾经说过,域也可以声明为final.对于final域来说,构造对象之后就不允许改变他们的值了.不过,如果将一个类声明为final,只有其中的方法自动成为final,而不包括域.
将方法或类声明为fianl主要目的是:确保他们不会在子类中改变语义

原文地址:https://www.cnblogs.com/liuzhidao/p/13708169.html