JAVA中性子類の実例化過程におけるsuperとthisの使用


サブクラスのインスタンス化プロセスをコードで直感的に理解します.
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