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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 古月哥欠 中级黑马   /  2014-12-19 01:25  /  962 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么不能在一个类的两个构造方法中使用this互相调用呢?

2 个回复

倒序浏览
可以在两个 构造方法互相调用tish,编译没有错误
但是在调用其中一个方法时,会出现死循环,
所以,不能互相调用
回复 使用道具 举报
1.可以在一个构造里使用this调用另一个构造方法,理论上这是没错的。
2.构造方法中,this是需要放在第一行的。如果再两个构造方法中都有this,那么在执行构造方法的时候,都会先this,这样就造成死循环了。
3.实际中,如果这么写了的话,是编译不通过的,多个构造情况下,至少一个构造方法是不能存在this的。
public class Test2 extends Person {
    public Test2(){
        this(2);
        System.out.println("ddd");
    }
    public Test2(int i){
        this(2,3);
        System.out.println("ddd");
    }
    public Test2(int i,int y){
        System.out.println("ddd");
    }
   
    public static void main(String[] args) {
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马