A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李龙龙 黑马帝   /  2011-11-16 15:10  /  2181 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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

    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")一样有两个对象。还是其他。希望大家帮忙。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

2 个回复

倒序浏览
严谨说。要是说创建了几个对象的话,这句话只创建了一个对象。
回复 使用道具 举报
只有一个Teacher的对象,就是t2,传入的3,是用来给Teacher对象进行初始化的。和new String("abc")是不一样的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马