有时候,可能希望阻止人们利用某个类定义子类.不允许扩展的类被称为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主要目的是:确保他们不会在子类中改变语义