2015-02-03 3 views
-3

Я пишу код, который создает массив экземпляров объекта Account в другом классе (Bank).Как создать массив экземпляров, доступных в классе?

Я инициализирую массив внутри основного метода, но он недоступен внутри класса Bank. Что я хочу сделать, это создать 4 экземпляра класса Account и выполнить все задачи внутри методов класса Bank. Есть ли способ, которым я могу это сделать?

это мой код

Account.java

package question1; 

import java.util.Date; 

public class Account { 

    public int AccountNum; 
    public double BALANCE; 
    public Date OPENDATE; 
    public String OwnerName; 

    public Account() { 
     // TODO Auto-generated constructor stub 
    } 

    public Account(int accnum, double balance, Date opendate, String ownername) { 

     this.AccountNum = accnum; 
     this.BALANCE = balance; 
     this.OPENDATE = opendate; 
     this.OwnerName = ownername; 

    } 

    public int getAccountNum() { 
     return AccountNum; 
    } 

    public void setAccountNum(int accountNum) { 
     AccountNum = accountNum; 
    } 

    public double getBALANCE() { 
     return BALANCE; 
    } 

    public void setBALANCE(double bALANCE) { 
     BALANCE = bALANCE; 
    } 

    public Date getOPENDATE() { 
     return OPENDATE; 
    } 

    public void setOPENDATE(Date oPENDATE) { 
     OPENDATE = oPENDATE; 
    } 

    public String getOwnerName() { 
     return OwnerName; 
    } 

    public void setOwnerName(String ownerName) { 
     OwnerName = ownerName; 
    } 

    public double yearlyInterest(double balace) { 
     return balace; 
    } 
} 

Bank.java

package question1; 

public class Bank { 


    public static void main(String[] args) { 

     Account[] acc = new Account[4]; 

     for(int i = 0 ; i<acc.length; i++){ 
      acc[i] = new Account(); 
      System.out.println(acc[i].toString()); 

     } 

     /// how to continue form here ?? 


    } 


} 
+2

Непонятно, что вы просите. – Jens

+0

На самом деле у вас нет вашего вопроса – SomeJavaGuy

+0

У меня есть учетная запись класса и еще одна BanK ... Мне нужно создать массив учетной записи в банке –

ответ

0

Позвоните в конструктор класса Account. Теперь вы можете задать все аргументы по желанию. Впоследствии вы можете добавить экземпляр в любой массив или коллекцию.

List<Account> accounts = new ArrayList<Account>(4); 

Account myAccount = new Account(123, 100.5, new Date(), "dev leb"); 
accounts.add(myAccount); 
0

Вы, вероятно, хотите иметь свойство в качестве Account массива в своем классе.

Вы можете установить свойство в теле класса:

public class Bank { 

    //Set your property here. 
    private Account[] _acc; 

    //Initialize in ctor. 
    public Bank() { 
    _acc = new Account[4]; 
    } 
    //.... 
    //You can then use it as a property in your code. 

    //If needed outside the class, set up setter and getter methods, 
    //avoiding violating encapsulation. 
    public Account[] getAcc(){ 
    return _acc; 
    } 

    public void setAcc(Account acc){ 
    this._acc = acc; 
    } 

    //If you need this to be used inside main, then you must instantiate a 
    //Bank in main and then make all the appropriate operations there. 
    public static void main(String[] args) { 

    Bank bank = new Bank(); 
    Account[] bankAccounts = bank.getAcc(); 
    //.... 
    } 

} 

Мое предложение, однако, что вы используете ArrayList вместо: Установить свойство:

private List<Account> acc; 

И в конструкторе: согл = новый список();

Для того, чтобы добавить учетную запись в методе класса:

acc.add(new Account()); 

Для того, чтобы восстановить элемент по индексации:

acc.get(0); 

для получения дополнительной информации, смотрите на ArrayList JavaDoc.

Если вы не можете понять, почему ваш массив, который определен внутри основного, недоступен в вашем классе Bank, то я предлагаю вам больше искать объектно-ориентированное программирование, определение класса, создание экземпляров и доступность свойств и манипуляции и статические методы в Java.

Смежные вопросы