この記事では、読者が参照しやすいように、主に Java の一般的なキーワード、final、static、super、および this を詳細に分析します。詳細は以下のとおりです。
1.決勝
1) クラスを変更します。
このクラスが継承できないことを示します
2) メソッド(メソッド)を変更する
このメソッドをオーバーライドできないことを示します (@override)
3) 変数(変数)を変更する
この変数の値を後で変更できないことを示します。不変定数を変更するためによく使用されます。
※finalは直訳すると「最終的な」「変わらない」という意味を組み合わせて覚えておくと便利です。
2. 静的 (2 番目と 3 番目の方法がよく使用されます)
1) クラスを変更します。
(一般的には使用されません) は内部クラスを変更するためにのみ使用できます。通常のクラスはこの方法で宣言できません。
2) メソッド(メソッド)を変更する
静的メソッドは、特定のオブジェクトではなく、クラス (オブジェクト間で共有) に属します。オブジェクトを作成する必要はなく、クラス名を使用してこのメソッドを呼び出すことができます。
(プログラムが実行されると、クラスのバイトコードがメモリにロードされます。クラスがオブジェクトを作成していないときは、クラス変数にはメモリが割り当てられており、インスタンス変数には、特定のオブジェクトが作成されたときにのみメモリ空間が割り当てられます。 )
3) 変数(変数)を変更する
2)と同様に、変数はクラスレベルで共有され、オブジェクトを作成する必要はありませんが、変数の値の変化は整数です。つまり、オブジェクトAが操作によって静的変数の値を変更する場合です。その上で、オブジェクト B が変更された静的変数上で動作します。
注: 静的で変更されたコード ブロックは、静的コード ブロックと呼ばれます。静的コード ブロックは、どこに配置されても、最初に実行され、その後、通常のコード ブロックが実行されます。複数の静的コード ブロックが存在する場合があり、各コード ブロックは出現順に JVM によって実行されます。
this キーワードと super キーワードは静的メソッドでは使用できません。
3. super: (親クラスへの参照を参照)
1) クラス (親クラス、スーパークラスとも呼ばれます) に関連する:
super(parameter 1,parameter 2,...,parameter n); を通じて親クラスのコンストラクターを呼び出します。
2)手法(メソッド)関連
super.Method(パラメータ 1, パラメータ 2,..., パラメータ n) は、親クラスのオーバーライドされたメソッドを呼び出します。
3)変数関連(変数)
super.variable、親クラスの変数を呼び出します
注: super はサブクラス コンストラクターの最初の行で使用する必要があります。
親クラスにパラメーターのないコンストラクターがない場合、サブクラスはスーパーを使用して親クラスのコンストラクターを明示的に呼び出す必要があります。スーパーは親クラスへの参照を参照します。
4. this:(現在のオブジェクトへの参照)
1) クラス関連:
this(パラメータ 1, パラメータ 2,..., パラメータ n)、これは通常のコンストラクタです。コンストラクタ (this) を呼び出すことができるのはコンストラクタ (other) だけであり、通常の関数はコンストラクタを呼び出すことができません。
2) メソッド関連:
現在のオブジェクトのメソッドを呼び出す
3) 変数 (変数) 関連:
現在のオブジェクトの変数を呼び出します
注: this(); および super(); はコンストラクターを明示的に呼び出すのは構造の最初の行にのみ配置できます。
this.method..();super.method..(); はどこにでも配置でき、通常のメソッドとして使用できます。
this キーワードを使用するコンストラクターとメソッドには大きな違いがあります。メソッド参照は、メソッドが実行されているクラスのインスタンスを指します。静的メソッドはクラスのインスタンスに属さないため、this キーワードを使用できません。したがって、this は指すものが何もありません。コンストラクターの this は、異なるパラメーター リストを持つ同じクラス内の別のコンストラクターを指します。