final关键字
final的概念
继承的出现提高了代码的复用性,并方便开发。但是,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,这怎么办呢?
要解决上面的问题,需要用到关键字final,final意思是最终,不可变。
final是个修饰符,它可以修饰类,类的成员,以及局部变量。
final特点
- final修饰的类不能被继承,但是可以继承其他类。另外,final类的使用方式、创建对象、调用方法都没有变化
class Yy {
}
final class Fu extends Yy{
} //可以继承Yy类
final class Fu{
}
class Zi extends Fu{
} //Fu是final类,不能继承Fu类
- final修饰的方法不可以被覆盖(重写),但父类中没有被final修饰方法,子类覆盖(重写)后可以加final。
class Fu {
// final修饰的方法,不可以被覆盖,但可以继承使用
public final void method1(){}
public void method2(){}
}
class Zi extends Fu {
//重写method2方法
public final