コンセプト
ファイナルには「変更されていない」という意味があり、非アブストラクトクラス、非アブストラクトメンバーのメソッドと変数を変更できます。
注記:
「メソッドカバレッジ」の概念は、クラスの建設方法にのみ適用されるため、構造方法を変更するために最終的に使用できません。
親クラスのプライベートによって変更される方法は、サブクラスの方法でカバーすることはできないため、デフォルトではプライベートタイプの方法として理解できます。
最終クラス
このクラスを継承できないように、クラスを最終として定義します。特定の使用シナリオは次のとおりです。
たとえば、JDKのJava.lang.Stringクラスは、最終タイプとして定義されます。
パブリックファイナルクラスの文字列{...}
最終的な方法
場合によっては、安全上の理由により、親クラスではサブクラスが特定の方法をカバーすることを許可していません。
たとえば、JDKのjava.lang.Objectクラスでは、getClass()メソッドが最終型であり、equals()メソッドは最終タイプではありません。
すべてのオブジェクトサブクラスは、equals()メソッドをカバーできますが、getClass()メソッドをカバーすることはできません。
最終変数
変数変更された変数は、値が変更されない定数を示します。
例:JDK Java.lang.integerクラスで2つの定数が定義されています。
min_value = 0x80000000へのpublic static final;
public static final int max_value = 0x7ffffffff;
最終変数には次の特性があります。
パブリッククラスのデモ{public static int max_value = 23;
静的定数は一般に大文字にちなんで命名され、単語は「_」シンボルで区切られています。
Public Class FinalTest {final int 1;デフォルトで初期化されておらず、コンストラクターを初期化できます} static {d = 4;
最終変数には、参照型変数が最終的に変更されている場合、変数は常に1つのオブジェクトで参照できますが、オブジェクトのコンテンツを変更できます。
public class finalTest {string str = "" "" "" "" "" "" "" "" "" "" "" ""; ltest = new finalTest(); finalTest.str = "xixihaha"; finalTest.print( );}}
要約:
実際のプログラムでは、定数は最終的な修飾子を介して定義されます。
上記は、この記事のすべての内容です。