我写了一个程序,如下
简单点说可不可以有三个构造方法?
public abstract class Account { 
private static long num=10000;
private long id;
private String name;
private String password;
private String personId;
private double balance;

public Account(){}

public Account(String a) {  
num++;
this.id=num;
} public Account(String name, String password, String personId) {
this("a");
this.name = name;
this.password = password;
this.personId = personId;
} public double getBalance() {
return balance;
} public void setBalance(double balance) {
this.balance = balance;
} public long getId() {
return id;
} public void setId(long id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getPersonId() {
return personId;
} public void setPersonId(String personId) {
this.personId = personId;
}

public final void deposit(double money){
 this.balance+=money;  
}
public abstract void withdraw(double money);
}
我就是调不到谁能说说什么原因?
public Account(String a) {  
num++;
this.id=num;
} public Account(String name, String password, String personId) {
this("a");
this.name = name;
this.password = password;
this.personId = personId;
}
这是调不到的部分!

解决方案 »

  1.   

    我就是调不到谁能说说什么原因? 
    public Account(String a) {  //你这里有一个形参a,你构造函数体内怎么没有去调用它???
    num++; 
    this.id=num; 
    } public Account(String name, String password, String personId) { 
    this("a"); //同样的道理,你上面的一个构造函数都没有调用形参a,这里你却调用本类的构造函数,可能吗?再说了,你this(a)才行,
                     //怎么能写成this ("a")呢???
    this.name = name; 
    this.password = password; 
    this.personId = personId; 

    这是调不到的部分!