代码如下:
class Person {
String name, department;
int age;
public Person(String n){ name = n; }
public Person(String n, int a){ name = n; age = a; }
public Person(String n, String d, int a) {
this(name,age); //问题代码
department = d;
}
}
//问题代码这个位置为什么不能这样写?按照创建对象的流程,成员变量是先于构造函数默认初始化的.那么this(name,age)里面的两个变量已经有值了,为什么不能调用呢?程序报的错是"不能引用超类构造函数".
不考虑该代码的意义,就是分析下原因 |
|