黑马程序员技术交流社区

标题: new Teacher(3)有几个对象? [打印本页]

作者: 李龙龙    时间: 2011-11-16 15:10
标题: new Teacher(3)有几个对象?

借用李高翔朋友的代码,问一个问题 。谢谢  

    class Person {   
       public Person() {   
            func();   
          }   
        public void func() {   
             System.out.print("1,");   
       }   
}  


   
   class Teacher extends Person {   
        public Teacher() {   
                       System.out.println("........");

       }   
        public Teacher(int a) {
        //super();
        this();


               System.out.println(a);   
      }   
         public void func() {   
             System.out.println("2,");   
      }   
       public static void main(String[] args) {   
          // Teacher t1 = new Teacher();   
             Teacher t2 = new Teacher(3);   
      }   
   }
在public Teacher(int a)方法中加入this(),结果
2,
........
3
new Teacher(3)是不是和new String("abc")一样有两个对象。还是其他。希望大家帮忙。
作者: quanhui    时间: 2011-11-16 15:19
严谨说。要是说创建了几个对象的话,这句话只创建了一个对象。
作者: 後天__牛永志    时间: 2011-11-16 15:19
只有一个Teacher的对象,就是t2,传入的3,是用来给Teacher对象进行初始化的。和new String("abc")是不一样的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2