最後のキーワード
FinalはJavaではファイナライザと呼ばれ、finalはJavaでクラス、メソッド、およびプロパティを定義するために使用できます。
1. finalで定義されたクラスはサブクラスを持つことができなくなりました。つまり、finalで宣言された親クラスを継承できるクラスはありません。
final class A{ //此类不能够有子类
}
class B extends A{ //错误的继承
}
注:Stringもfinalを使用して定義されたクラスであるため、Stringクラスは継承できません。
2. finalによって定義されたメソッドは、サブクラスによってオーバーライドできません。
class A{
public final void fun(){//此方法不允许被子类覆写
}
}
class B extends A{
public void fun(){} // 错误:此处允许覆写
}
3. finalを使用して定義された変数は定数になります。定数は定義時に設定する必要があり、変更できません。
class A{
final double GOOD=100.0;
public final void fun(){
GOOD=1.1; //错误:不能够修改常量
}
}