SuperはAndroidでより一般的であり、Java Foundationがなければそれを理解していないので、学ぶ時間があります。
Javaクラスでスーパーを使用して基本クラスのコンポーネントを参照することは比較的簡単であり、例は次のとおりです。
クラス父クラス{public int value; public void f(){value = 100; system.out.println( "fatherclass.value:"+value); }} class Childclassはfatherclassを拡張します{public int value; public void f(){super.f();値= 200; system.out.println( "childclass.value:"+value); System.out.println(value); System.out.println(super.value); }} public class test1 {public static void main(string [] args){childclass cc = new childclass(); cc.f(); }}最終出力は次のとおりです。
fatherclass.value:100ChildClass.Value:200200100
さらに、Superは相続構造にも使用されます。特定のルールは次のとおりです。
1.基本クラスの建設方法は、サブクラスの建設プロセス中に呼び出されなければなりません。
2。サブクラスは、Super(Argument_List)を使用して、独自のコンストラクターでベースクラスのコンストラクターメソッドを呼び出すことができます。
3.サブクラスのコンストラクターがベースクラスのコンストラクターに表示されない場合、システムはデフォルトでベースクラスのパラメーターレスコンストラクターを呼び出します。
4.サブクラスコンストラクターが基本クラスのコンストラクターへの呼び出しを表示せず、ベースクラスにパラメーターのないコンストラクターがない場合、コンパイルエラーが発生します。
例は次のとおりです。(ここで自分で実験するのが最善です)
クラススーパークラス{private int n; superclass(){system.out.println( "call superclass()"); } superclass(int n){system.out.println( "call superclass("+n+")"); }} class subclassはsuperclassを拡張します{private int n; subclass(int n){//スーパークラス構造方法がサブクラス構築方法で記述されていない場合、システムはパラメーターなしで親クラスを呼び出すことを義務付けています//次の記述と同等です:// super(); System.out.println( "suberclass("+n+")"); this.n = n; } subclass(){super(300); //親クラスのコンストラクターは、サブクラスの建設プロセス中に呼び出され、スーパーは最初の文(最初に父親がいて、次に息子がいます)system.out.println( "call subclass()")に記述する必要があります。 }} public class test2 {public static void main(string [] args){subclass sc1 = new subclass();サブクラスSC2 =新しいサブクラス(400); }}最終結果は次のとおりです。
SuperClass(300)を呼び出すSubclass()を呼び出すSuperClass()Call Subclass(400)を呼び出します
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。