在遇到这种情况的时候
就是在构造方法的时候调用同类中另一个同名构造方法时没用this关键字,而使用了同名的方法名。
解决方法就是 用this关键字代替构造的方法名。
示例:
public class Person {
//成员属性
public String name;
public char sex;
public int age;
//重载函数
public Person(String s) {/*设置姓名*/
name = "s";
}
public Person(String s,char c) {
/*调用本类的构造函数Person(String s),设置性别*/
Person("s");
sex = 'c';
}
public Person(String s,char c,int i){
/*调用本类的构造函数PersonPerson(String s,char),设置年龄*/
Person("s",'c');
age = i;
}
}
将
public Person(String s,char c) {
/*调用本类的构造函数Person(String s),设置性别*/
Person("s");
sex = 'c';
}
public Person(String s,char c,int i){
/*调用本类的构造函数PersonPerson(String s,char),设置年龄*/
Person("s",'c');
age = i;
}
修改为
public Person(String s,char c) {
/*调用本类的构造函数Person(String s),设置性别*/
this("s");
sex = 'c';
}
public Person(String s,char c,int i){
/*调用本类的构造函数PersonPerson(String s,char),设置年龄*/
this("s",'c');
age = i;
}
即可