在Java中创建构造函数时解决包围错误

时间:2016-06-24 23:57:13

标签: java eclipse constructor brackets

我在Eclipse中遇到包围错误(第15行和第18行)“公共帐户myCustomAccount ... balance = initial balance;}”当我尝试在以下程序中打开第二个构造函数时。该程序适用于Dietel“编程简介”第9章练习7。

我怀疑我正在错误地创建构造函数。你提供什么建议? (非常感谢您提前!!)

import java.util.Date;

public class Account {

//declare required variables
private int id = 0;
private double balance = 0;
private double annualInterestRate = 0; //assume all accounts have the same interest rate
private Date dateCreated = new Date(); //no-argument instance stores the present date


//define default & custom constructors
public Account mydefaultaccount = new Account(); //no-argument instance of Account  

public Account myCustomAccount = new Account(int identNum, double initialBalance) {
    id = identNum;
    balance = initialBalance;
}

//define getters
public int getId() {
    return id;
}

public double getBalance() {
    return balance;
}

public double annualInterestRate() {
    return annualInterestRate;
}

public Date getDate() {
    return dateCreated;
}

//define setters
public void setId(int idSetter) {
    id = idSetter;
}

public void setBalance(double balanceSetter) {
    balance = balanceSetter;
}

public void setAnnualInterestRate(double annualSetter) {
    annualInterestRate = annualSetter;
}

//define required monthly interest rate getter
public double getMonthlyInterestRate() {
    double moInt = annualInterestRate / 12;
    return moInt;
}

//define modifiers
public double withdraw(int withdraw) {
    balance = balance - withdraw;
}

public double deposit(int deposit) {
    balance = balance + deposit;
}
}

1 个答案:

答案 0 :(得分:2)

这不是你如何定义构造函数。构造函数应遵循以下形式:

List<Row>

然后,要实例化该类,请调用:

public className(parameters) {}

在你的情况下,

ClassName variable = new ClassName(Parameters);

并实例化,

public Account() {
    /* Body */
}

public Account(int identNum, double initialBalance) {
    /* Body */
}