Javaにおけるメンバー変数の付与と構築方法について
982 ワード
この問題についてはJVMの作業手順で説明すべきであり,まず次のコードを見る.
このコードの実行手順は次のとおりです.
1.スタックメモリで変数を定義するときに初期値となり、メソッドを定義します.基本データ型は0、参照データ型はnull 2である.親構築メソッドを呼び出し、親のプロパティとメソッドを定義します(子が親メソッドを書き換えた場合、上書きされず、プロシージャ全体で上書きされない場合).親の変数に値を割り当てます.(ここでnewはYオブジェクトである).親構築メソッドの他の文を実行します(この場合、独自の変数が初期化され、値が割り当てられています.合理的なようです).自分の変数に値を割り当てる(スタックメモリにオブジェクトまたは定数を作成する)(ここでもnewのYオブジェクトである).構築メソッドの他の文の実行
敷物の小さな知識:1つ目:メンバー変数には基本タイプと参照タイプがあります.class Demo{//基本タイプint x=10;//参照タイプStudio s=new Studio()}2つ目:クラスの初期化プロセスclassファイルスタックで開いた空間変数のデフォルト初期化変数をロードする表示初期化構築コードブロック初期化構築方法初期化
3つ目:extendsに遭遇したら、親データを初期化し、サブクラスデータを初期化することを知っておく必要があります.階層初期化superはここで親データを初期化することを示すだけです.
class X {
Y b = new Y();
X() {
System.out.print("X");
}
}
class Y {
Y() {
System.out.print("Y");
}
}
public class Z extends X {
Y y = new Y();
Z() {
System.out.print("Z");
}
public static void main(String[] args) {
new Z(); // YXYZ
}
}
このコードの実行手順は次のとおりです.
1.スタックメモリで変数を定義するときに初期値となり、メソッドを定義します.基本データ型は0、参照データ型はnull 2である.親構築メソッドを呼び出し、親のプロパティとメソッドを定義します(子が親メソッドを書き換えた場合、上書きされず、プロシージャ全体で上書きされない場合).親の変数に値を割り当てます.(ここでnewはYオブジェクトである).親構築メソッドの他の文を実行します(この場合、独自の変数が初期化され、値が割り当てられています.合理的なようです).自分の変数に値を割り当てる(スタックメモリにオブジェクトまたは定数を作成する)(ここでもnewのYオブジェクトである).構築メソッドの他の文の実行
敷物の小さな知識:1つ目:メンバー変数には基本タイプと参照タイプがあります.class Demo{//基本タイプint x=10;//参照タイプStudio s=new Studio()}2つ目:クラスの初期化プロセスclassファイルスタックで開いた空間変数のデフォルト初期化変数をロードする表示初期化構築コードブロック初期化構築方法初期化
3つ目:extendsに遭遇したら、親データを初期化し、サブクラスデータを初期化することを知っておく必要があります.階層初期化superはここで親データを初期化することを示すだけです.