子类的两个对象的重复输出

时间:2017-09-15 16:48:27

标签: java inheritance constructor output

我是一个noobie,我试图了解具体的输出即时通讯。 我使用Eclipse Mars版本4.5

所以我有以下代码:

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

{

class Main {
    static String alphabetical(String str)
    {
      String alpha="abcdefghijklmnopqrstuvwxyz";
      String betical="";
        for(int k=0;k<str.length();k++){
          for (int i=0;k<alpha.length();i++){
            if(str.charAt(k)>=alpha.charAt(i)){
              betical+=str.charAt(k);
            }
          }
        }
        return betical;
    }
    //test case below (dont change):
    public static void main(String[] args){
        System.out.println(alphabetical("adatplqzh")); //result should be "adtz"
    }
}

让我感到困惑的是,即使我只打印了对象&#34; test1&#34;,我也会获得重复的输出,就好像我打印了两个对象一样。

任何帮助?

1 个答案:

答案 0 :(得分:0)

这是因为您在Subclass构造函数中打印“Sub Class”。

System.out.println(“Sub Class”);