JAVA中性子類の実例化過程におけるsuperとthisの使用
サブクラスのインスタンス化プロセスをコードで直感的に理解します.
1、superとthisキーワードの使用に注意してください.
2、7、8、9行目のコードをそれぞれコメントして実行し、実行結果を観察する.
3、45行目のコードに対して注釈を取り消し、実行結果を観察する.
4、51行目と52行目のコードのthisキーワードの使い方に注意してください.
5、ソースコードは動かず、親クラスのFather()の構築方法(22~25行目コード)を注釈し、実行結果を観察し、親クラス構築関数の注釈文を見る.
1、superとthisキーワードの使用に注意してください.
2、7、8、9行目のコードをそれぞれコメントして実行し、実行結果を観察する.
3、45行目のコードに対して注釈を取り消し、実行結果を観察する.
4、51行目と52行目のコードのthisキーワードの使い方に注意してください.
5、ソースコードは動かず、親クラスのFather()の構築方法(22~25行目コード)を注釈し、実行結果を観察し、親クラス構築関数の注釈文を見る.
class ExtendsDemo
{
public static void main( String[] args )
{
Son s = new Son();
//Son s1 = new Son( 110 );
//Son s2 = new Son( 1, 2 );
//s.speak();
}//end of method main
}//end of class ExtendsDemo
class Father
{
String name;
int age;
Father( ) //
{
System.out.println( "Father( ) is run" );
}//end of method Father
Father( int x )// ,
{
System.out.println( "Father( int x ) is run:" );
}//end of method Father
void speak()
{
System.out.println( "I am father!" );
}//end of method speak
}//end of class Father
class Son extends Father
{
Son()
{
//super( 2116 );
System.out.println( "Son() is run" );
}//end of method Son
Son( int x )
{
this();
this.speak();// , this
System.out.println( "Son( int x ) is run" );
}//end of method Son
Son( int x, int y )
{
this( x );
System.out.println( "on( int x, int y ) is run" );
}//end of method Son
void speak()
{
System.out.println( "I am Son!" );
}//end of method speak
}//end of class Son