class Person{ // 定义Person类 private String name ; // 姓名 private int age ; // 年龄 public Person 10
楼主,按照你的意思,我写出来的测试代码是这样的。
public class Person
{
private String name;
private int age;
public Person(){
System.out.println("123"); //第一行不是this所调用的构造函数
this("weizhi",12);
}
public Person(String name, int age)
{
this.name = name;
this.age = age;
}
public static void main(String[] args) {
System.out.println(new Person());
}
}
此时我使用命令行运行后的结果如下图,其实也是不支持将this调用的构造方法放在第二行的。
针对这个问题,你可以这么理解:这是一个程序语言的约束规范,构造方法的目的就是初始化对象的内部状态,只有对象初始化话后,你才可以操作该对象,而调用this所引用的构造方法也是初始化对象,如果放在其他语句后面引用的话,就相当于在对象初始化之前对对象进行了操作。
希望我的解释能对你有帮助。
这个和this()只能存在一个
{
private String name;
private String age;
public Person(String name, String age)
{
this.name = name;
this.age = age;
}
}
不晓得你的错误是什么样儿的