2017-09-15 7 views
0

im noobieとimは特定の出力を理解しようとしています。 私は4.5サブクラスの2つのオブジェクトの出力が重複しています

を解放だから私は以下のコードを持っているEclipseの火星を使用します。私は別の2を初期化しようとすると、今

public class SubClass extends SuperClass 
{ 
    public SubClass() 
    { 
     System.out.println("Sub Class"); 
    } 

} 

public class SuperClass{ 

    protected String query; 

    public SuperClass(){} 

    public SuperClass(String query) 
    { 
     this.query=query; 
     System.out.println("Super Class"); 
    } 

    public String toString() 
    { 
     return query="value"; 
    } 
} 

も前のクラス次のサブクラスをサブクラスのオブジェクトは次のように混乱します。

public class Main 

{

public static void main (String[] args) 
{ 
    SubClass test1=new SubClass(); 
    SubClass test2=new SubClass(); 

    System.out.println(test1); 
} 
} 

**Output:** 
    Sub Class 
    Sub Class 
    value 

何私に混乱していることは、私は、オブジェクトの両方を印刷しているかのようイムが重複した出力を得る、唯一のオブジェクト「TEST1」を印刷していてもということです。

助けが必要ですか?

+1

あなたは 'System.out.println(" Sub Class ");は何と思いますか?あなたは '新しいSubClass();は何をしていると思いますか? –

+0

System.out.println( "Sub Class");文字列Sub Classと新しいSubClass()を出力します。サブクラスクラスの新しいオブジェクトを作成します – Dude2207

+1

そして、クラスをインスタンス化するとどうなりますか?何が呼び出されますか? –

答えて

0

これは、Subclassコンストラクタで "Sub Class"を印刷しているためです。

System.out.println( "Sub Class");

関連する問題