5是System.out.println("Star Wars2"); 打出来的
6是基类默认的构造方法
7是因为v2.substring(0, v2.length()).length() 小于v3.length
所以打了System.out.println("Earth"); 

解决方案 »

  1.   

    to stellaxyq(汐) 等于没说啊
    问题是Sun sun2 = new Sun("Mars", "Earth")为何不用public Sun(String v2, String v3)这个CONSTRUCTOR?
      

  2.   

    哥们,第五项 "Star Wars2" 是随着第四项也就是 初始化 sun1 的最后一条语句。执行完“super(v1, "Saturn"); "不正好执行System.out.println("Star Wars2"); 吗!
    第6项,7项是初始化sun2执行的。因为sun2中没有super(""), 所以引式的调用父类star的构造函数
    Star() { 
    System.out.println("Star"); 
    } 因为字符串Mars的个数少于earth的个数,所以执行
    else 
    System.out.println("Earth"); 
    即第七项
      

  3.   

    其实这题主要考两个知识点:
    1.子类没有显式调用构造函数,则隐式调用父类的默认构造函数
    2.使用super()调用父类构造函数
      

  4.   

    to pingju(穆斯林信徒),那为什么不调用
    Star(String s2, String s3) { 
    this("Mercury"); 
    System.out.println( s2 + " and " + s3 + " are also Stars"); 

    这个CONSTRUCTOR呢?
      

  5.   

    THX,看来不看书不行啊,推荐几本好点的书吧,不要太浅啊
    另外,怎么加分啊?
      

  6.   

    thinking in java(2nd)经典,里面在这方面讲的非常好的,但是要注意自己总结。
      

  7.   

    第六个Star是怎么出来的?