2017-09-15 57 views
0

即時通訊一個noobie和即時通訊試圖瞭解特定的輸出即時通訊。 我使用Eclipse火星釋放4.5重複輸出一個子類的兩個對象

所以我有如下代碼:

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 SubClass extends SuperClass 
{ 
    public SubClass() 
    { 
     System.out.println("Sub Class"); 
    } 

} 

現在,當我嘗試初始化兩個不同子類的對象我得到一個混淆輸出,如下:

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 

什麼是困惑我的是,即使我只打印對象「測試1」,即時得到重複的輸出,如果我打印兩個對象的。

任何幫助?

+1

你覺得'System.out.println(「Sub Class」);'是做什麼的?你認爲'新的SubClass();'做了什麼? –

+0

System.out.println(「Sub Class」);打印字符串Sub Class和新的SubClass();創建子類的新對象 – Dude2207

+1

當你實例化一個類時會發生什麼?什麼被稱爲? –

回答

0

這是因爲您在子類構造函數中打印「子類」。

System.out.println(「Sub Class」);

相關問題