-1

私はお互いに拡張する2つのクラスを持っています。クラスから都市と州を取得するために、クラス Address.Java を呼び出すミューテーター メソッドがあります。しかし、Bank.java クラスが問題を引き起こしています。私に問題を与える具体的な方法は

public void setBankAddress(String aCity, String aState)(コードは以下にあります) これが意味をなすかどうかわかりません {

}

Bank.Java

public class Bank
{
     private String bankName;
     private int bankID;
     private Address bankAddress;

     public Bank()
     {
         bankName = "?";
         bankID = 0;
         bankAddress = new Address();
     }   

     public String getBankName()
     {
         return bankName;
     }

     public int getBankID()
     {
         return bankID;
     }

     public Address getBankAddress()
     {
         return bankAddress;
     }

     public void setBankName(String aBankName)
     {
         bankName = aBankName;
     }

     public void setBankID(int aBankID)
     {
         bankID = aBankID;
     }

     public void setBankAddress(String aCity, String aState)
     {

     }

     public String toString()
     {
         return "\nBank name:\t\t" + bankName + "\nBank ID:\t\t" + bankID + "\nBank    Address:\t\t" + bankAddress + "\n\n";
      }

}

住所。ジャワ

public class Address
{
    private String city;
    private String state;

    public Address()
    {
    city = "?";
    state = "?";
    }

    public String getCity()
    {
    return city;
    }

    public String getState()
    {
    return state;
    }

    public void setCity(String aCity)
    {
    city = aCity;
    }

    public void setState(String aState)
    {
    state = aState;
    }

    public String toString()
    {
    return city + "," + state;
    }

}
4

1 に答える 1

2

オブジェクトのメソッドを呼び出す方法がわからないだけですか?

public void setBankAddress(String aCity, String aState)
{
    bankAddress.setCity(aCity);
    bankAddress.setState(aState);
}

bankAddressコンストラクターで既に初期化されているため、これらのメソッドを安全に呼び出すことができます。

ただし、通常は、そのようなメソッドの外でそれを行い、オブジェクト全体を渡すことをお勧めします

Address someAddress = new Address();
someAddress.setCity(aCity);
someAddress.setState(aState);

Bank bank = new Bank();
bank.setBankAddress(someAddress);
...
public void setBankAddress(Address aBankAddress) {
    bankAddress = aBankAddress;
} 
于 2013-09-05T18:16:04.903 に答える