获取基元类型的值的方法

时间:2013-01-31 05:51:42

标签: java primitive-types

我在获取此方法时遇到了很多麻烦:SmallBank中一个名为printBankDetail的方法打印出存储的BankAccounts的详细信息。如果只有一个BankAccount,并且有两个BankAccount,则此方法应该有效。您可以检查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);

    }
}

3 个答案:

答案 0 :(得分:0)

首先,account1account2不是原始类型。

此外,您可以非常简单地访问两者。

public void printBlankDetails()
{
    String name1 =  account1.getName();


    String name2 =  account2.getName();

}

P.S。你的printBlankDetails函数有很多问题,所以我没有尝试复制它。

答案 1 :(得分:0)

您可以将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());
}

答案 2 :(得分:0)

另一种设计是在printDetails()类本身中说BankAccount。类似的东西:

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,这种方法提供了更好的封装,隐藏了BankAccountSmallBank的详细信息。