[英]Method for getting value for primitive types
我在获取此方法时遇到了很多麻烦:SmallBank 中名为 printBankDetails 的方法打印出存储的 BankAccounts 的详细信息。 此方法适用于只有一个 BankAccount 的情况以及有两个 BankAccounts 的情况。 您可以通过如下方式检查 account2 实例变量中是否有值。 我不知道如何获取我创建的原始类型 account1 和 account2 的值,然后打印该值。 有什么建议?
public class SmallBank
{
private BankAccount account1;
private BankAccount account2;
public SmallBank(String name, int balance)
{
account1 = new BankAccount(name, balance);
account2 = null;
}
public void addSecondAccount(BankAccount newAccount)
{
account2 = newAccount;
}
public void printBlankDetails()
{
account1.getDeclaredFields();
String name = field.getName();
Int balance = field.getBalance();
System.out.println(b);
}
}
首先, account1
和account2
不是原始类型。
此外,您可以非常简单地访问两者,如下所示。
public void printBlankDetails()
{
String name1 = account1.getName();
String name2 = account2.getName();
}
ps 你的printBlankDetails
函数有很多问题,所以我没有尝试复制它。
您可以将 BankAccount 声明为:
class BankAccount {
private int balance;
private String name;
public BankAccount (String name, int balance) {
this.name = name;
this.balance = balance;
}
public String getName () {
return name;
}
public int getBalance () {
return balance;
}
}
然后调用 SmallBank 类中的方法:
public void printBankDetails () {
System.out.println("Account 1:");
System.out.println("Name: " + account1.getName());
System.out.println("Balance: " + account1.getBalance());
}
另一种设计是在BankAccount
类本身中说printDetails()
。 就像是:
public class BankAccount {
String name;
int balance;
...
...
public String printDetails() {
return (name + "/" + balance);
}
}
然后在您的SmallBank::printBlankDetails()
方法中使用它,如下所示:
printBlankDetails() {
if(account1 != null) system.out.println(account1.printDetails());
if(account2 != null) system.out.println(account2.printDetails());
}
IMO,这种方法提供了更好的封装,从SmallBank
类中隐藏了BankAccount
的详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.