黑马程序员技术交流社区

标题: 构造方法 [打印本页]

作者: 古月哥欠    时间: 2014-12-19 01:25
标题: 构造方法
为什么不能在一个类的两个构造方法中使用this互相调用呢?
作者: 找寻小龙猫    时间: 2014-12-19 02:00
可以在两个 构造方法互相调用tish,编译没有错误
但是在调用其中一个方法时,会出现死循环,
所以,不能互相调用
作者: duluhua    时间: 2014-12-19 09:57
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) {
    }
}




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