javaのFianlキーワード

ファイナルの意味:

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;//编译通过,
    }
}

注:
最終的な変更は、値はコンパイル時に決定できず、値は実行時にのみ決定できるため、実行時定数です。

おすすめ

転載: blog.51cto.com/14954398/2554676