ファイナルの意味:
javaでのfinalの意味は、finalで変更できないことを意味します。
ファイナルの役割:
4つの一般的な使用法:
1。クラス形式の変更に使用できます:public final class class name {}
2.メソッド形式の変更可能:modifier final return value type method name(parameter list){method body content}
3。ローカル変数の形式は変更できます:最終変数タイプ変数名;
4.メンバー変数形式は変更できます:許可修飾子最終変数タイプ変数名;
最終的に変更されたクラスは継承できませんが、他のクラスは他のクラスと同じ方法で継承および使用できます。
class Parent {}
final class Person extends Parent{} //可以继承Parent类
class Child extends Person{} //不能继承Person类
最終的に変更された変数は定数と呼ばれます。これらの変数は一度だけ割り当てることができますが、計算のためにクラスにロードすることができます。
final int i = 20;
i = 30; //赋值报错,final修饰的变量只能赋值一次
最終的に変更されたメソッドは上書きできません(上書きできません)が、継承して使用することはできます
class Parent {
// final修饰的方法,不可以被覆盖,但可以继承使用
public final void method1(){} //这个方法不可以重写
public void method2(){}
}
class Child extends Parent {
//可以重写method2方法
public final void method2(){}
}
Finalはメンバー変数を変更します。固定値はメモリのデフォルト値ではありません。オブジェクトを作成する前に割り当てる必要があり、手動で割り当てる必要があります。そうしないと、エラーが報告され、1回だけ割り当てることができることを保証する必要があります。
1.メンバー変更の割り当てを実現するには、2つの方法があります。1つは、定義時に直接割り当てることです。変数=割り当て
public class ParentDemo {
final int age=0;
public ParentDemo(int age){
this.age=age;//会报错,因为前面已经赋值了,
}
}
2.もう1つは、構築方法を使用して割り当てることです
public class ParentDemo {
final int age;
public ParentDemo(int age){
this.age=age;//编译通过,
}
}
注:
最終的な変更は、値はコンパイル時に決定できず、値は実行時にのみ決定できるため、実行時定数です。