クラスを作成するときにパラメーターコンストラクターを指定した後、システムはデフォルトでパラメーターのないコンストラクターを作成することはなく、自分で手動で作成する必要があります。
サブクラスのオブジェクトインスタンスを作成すると、親クラス(デフォルトのコンストラクター)のパラメーターレスコンストラクターがデフォルトで呼び出されます。
親クラスがパラメーターレスコンストラクターを定義していない場合、コンピレーション段階でエラーが報告されます。
サブクラスが親クラスのパラメーターコンストラクターを指定した場合、コンパイルして実行できます。
サブクラス宣言Super(ID、City)は、親クラスパラメーターコンストラクターが呼び出されることを示しています
パッケージcn.lw.testpkg;/*** @author wangeri 2018年4月18日*/class prodessor {private int id;プライベートストリングシティ; public Prodessor(int id、string city){this.id = id; this.city = city; } @Override public String toString(){return "Prodessor [id =" + id + "、city =" + city + "]"; }} class後継者はProdessorを拡張します{private string name;プライベートストリングセックス;パブリック後継者(String Name、String Sex、Int ID、String City){Super(ID、City); this.name = name; this.sex = sex; } @Override public String toString(){return "後継[name =" + name + "、sex =" + sex + "]"; }} public class callconstructortest {public static void main(string [] args){後継者S2 = new後継者( "a"、 "male"、1、 "hz"); System.out.println(s2); }}出力
後継者[name = a、sex = male]
親クラスはパラメーターのないコンストラクターを定義せず、子クラスはスーパー(ID、都市)を宣言しません
パブリック後継者(String name、String sex){this.name = name; this.sex = sex;}コンパイルエラー
暗黙的なスーパーコンストラクターProdessor()は未定義です。別のコンストラクターを明示的に呼び出す必要があります
親クラスには、パラメーターのないコンストラクターの定義、メソッド呼び出しのトランサイト性が表示されます
パッケージcn.lw.testpkg;/*** @author wangeri 2018年4月18日*/class prodessor {private int id;プライベートストリングシティ; public Prodess(){System.out.println( "Parameter of Prodessor"); } public Prodessor(int id、string city){this.id = id; this.city = city; } @Override public String toString(){return "Prodessor [id =" + id + "、city =" + city + "]"; }} class後継者はProdessorを拡張します{private string name;プライベートストリングセックス; public後継(){system.out.println( "後継者のパラメーターのないコンストラクターが呼び出されました"); } public後継者(String name、string sex){this.name = name; this.sex = sex; } @Override public String toString(){return "後継[name =" + name + "、sex =" + sex + "]"; }} public class callconstructortest {public static void main(string [] args){後継者s = new後継者(); System.out.println(s); System.out.println( "--------------------");後継者S2 =新しい後継者( "A"、 "MALE"); System.out.println(s2); }}出力
パラメーターなしでコンストラクターと呼ばれます。パラメーターなしでコンストラクターと呼ばれます。
後継者[name = null、sex = null]
---------------
議論のないプロデッサーコンストラクターと呼ばれます
後継者[name = a、sex = male]
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。