【发布时间】:2017-07-10 16:04:05
【问题描述】:
我正在我的数据结构书中做一个练习,似乎我打印的是参考地址而不是实际内容?有人可以看看我的代码并帮助我吗?感谢您的宝贵时间。
public class CreditCard {
// instance variables
private String customer;
private String bank;
private String account;
private int limit;
protected double balance;
// constructors - account for all cases, one with a bal, and one without
public CreditCard(String cust, String bk, String acnt, int lim, double bal){
customer = cust;
bank = bk;
account = acnt;
limit = lim;
balance = bal;
}
public CreditCard(String cust, String bk, String acnt, int lim){
this(cust, bk, acnt, lim, - 0.0);
}
// accessors
public String getCustomer(){return customer;}
public String getBank(){return bank;}
public String getAccount(){return account;}
public double getLimit(){return limit;}
public double getBalance(){return balance;}
// updaters
public boolean charge(double price){
if(price + balance > limit){
return false;
}
else balance += price;
return true;
}
public void makePayment(double amount){
balance -= amount;
}
// utility (static)
public static void printSummary(CreditCard card){
System.out.println("Customer = " + card.customer);
System.out.println("Bank = " + card.bank);
System.out.println("Account = " + card.account);
System.out.println("Limit = " + card.limit);
System.out.println("Balance = " + card.balance);
}
}// 结束类 CreditCard
【问题讨论】:
-
您需要为您的
CreditCard类添加一个toString()方法。此方法将覆盖Object超类中的相同方法。在尝试获取对象的 String 表示时,它也会被隐式调用。默认情况下,您会得到您所看到的结果。
标签: java object printing output