日期:2014-05-20  浏览次数:20690 次

关于在一个类中想用某一个构造器的方法调用另外一个构造方法
/*在程序中用某一个构造方法调用另外一个构造方法*/

class Person{
String name;
int age;
String id;

public Person(){
System.out.println("1.Person() has been used !");
}

public Person(String name,int age){
this();//调用本类中另外的构造方法
this.name=name;
this.age=age;
System.out.println("2.Person() has been used!!");
}

public Person(String name,int age,String id){
this();
this.name=name;
this.age=age;
this.id=id;
}


/*public Person(String name,int age,String id){//这个方法无法正确的编译,难道是因为this在本类中只能调用另外的无参构造方法?
this(String name,int age);
this.name=name;
this.age=age;
this.id=id;
}
*/
}

public class TestThis{
public static void main(String[] args){
new Person("wish",21);//匿名对象
new Person("wish",21,"201113010313");
}
}

------解决方案--------------------
this(String name,int age);

修改成

this(name,age);

基本语法错误啊。
------解决方案--------------------
this(String name,int age); 你调用其他方法,怎么会定义参数呢