2015-02-27 6 views
0

Я попытался найти этот вопрос, но не смог найти ничего, что действительно помогло мне ..Как я могу использовать методы из другого класса в Java?

У меня есть файл Java, который содержит класс банковского счета с методами внесения депозита, снятия с него, изменения имени, плату за обслуживание и распечатать отчет об учетной записи. Этот файл называется Account.java

Когда я пытаюсь запустить эту программу, я получаю сообщение о том, что в файле не найдены основные методы.

Итак, у меня также есть еще один файл ManageAccount.java, который должен использовать класс Account для создания и управления двумя различными банковскими счетами. Этот файл содержит только инструкции (в виде комментария) и только 3 строки кода, который мой профессор включены:

public class ManageAccounts { 
    public static void main(String[] args){ 
    Account acct1, acct2; 

Я запутался о том, как связать эти два файла вместе. В файле ManageAccount я добавил эти две строки в начале:

package Account; 
    import Account.*; 

Что мне делать? Как я могу использовать методы вывода, депозита, changeName, serviceFee и printSummary из класса Account в классе ManageAccounts?

+0

Если это статический метод, вызовите его через класс: OtherClass.callMethod() ', если это метод экземпляра, вызовите его через экземпляр: OtherClass o = new OtherClass(); o.callMethod();» – Stultuske

+2

Отправьте соответствующий код, пожалуйста. – SMA

+0

'никаких основных методов, найденных в файле': Я предполагаю, что вы пытаетесь запустить класс' Account', у которого нет основного метода. – Joachim

ответ

0

Прежде всего взгляните на основы oop. Затем в вашем основном методе создайте два новых экземпляра аккаунта по-новому.

public static void main(String[] args){ 
    Account acct1 = new Account(1000,"Sally",1111); 
    Account acct2 = new Account(1000,"Barry",1112); 
    acct1.depositTo(2000); 

} 

В ваших переменных acct1 и acct2 у вас есть два экземпляра класса Account. Класс учетной записи - это своего рода форма для ваших экземпляров. В экземплярах вы можете вызывать определенные методы. Если вы хотите запустить свою программу, вы должны запустить ее в классе, где определяется основной метод.

+0

Я установил файл ManageAccounts со всеми депозитами и снятиями, которые я должен был сделать. Но я получаю эту ошибку: ManageAccounts.java:12: ошибка: не удается найти символ Аккаунт acct1 = новый аккаунт (1000, «Салли», 1111); ^ символ: класс Учетная запись местоположение: класс ManageAccounts – savic

0

Для того, чтобы начать Java-программу, для начала вам нужен код. Это основной метод. Вот пример того, как он может выглядеть.

public static void main(String[] args) { 

} 

Конечно, этот основной метод ничего не делает. Поэтому вам нужно вставить свой код в метод. Вам также нужно иметь в виду, что для вызова метода вам нужно создать экземпляр класса, который вы хотите использовать (если только этот метод не является статичным). Ознакомьтесь с http://docs.oracle.com/javase/tutorial/java/concepts/, чтобы узнать основы.

0

Трудно ответить на вопрос, так как вы не опубликовали весь код и сообщение об ошибке. Если для класса A можно использовать методы класса B, класс B должен быть установлен в пути сборки проекта класса A. Самое простое для вас - разместить их в одном пакете, чтобы они были видны друг другу (при условии, что метод не является приватным.

+0

Я добавил код только сейчас. – savic

0

Я думаю, что вы не очищены самим основами, поэтому сначала прочитайте понятия OPPS и начали так, что и может избежать ошибок в будущем .Чтобы методов доступа в другом классе, экземпляр создается и соответствующие методы можно получить с помощью его. Проверьте приведенный ниже пример для вас понимания ..

public class Account { 
int id; 
Date dateCreated; 
double balance, annualInteretRate; 
// Other fields 

public Account() { 
// Here is where you create a default account. 
} 

public void setID(int i) { 
id = i; 
} 

public int getID() { 
return id; 
} 

// Method that checks to see if balance is sufficient for withdrawal. 
// If so, reduces balance by amount; if not, prints message. 
public void withdraw(double amount) 
{ 
if (balance >= amount) 
{ 
balance -= amount; 
} 
else 
{ 
System.out.println("Insufficient funds"); 
} 
} 

// Method that adds deposit amount to balance. 
public void deposit(double amount) 
{ 
balance += amount; 
} 
//-----------------------------------… 
// Returns balance. 
//-----------------------------------… 
public double getBalance() 
{ 
return balance; 
} 
// Adds interest to the account and returns the new balance. 
/
public double addInterest() 
{ 
balance += (balance * RATE); 
return balance; 
} 

/// Основной класс

import java.util.Scanner; 

public class BankProgram { 
public static void main(String args[]) { 
Account acct1 = new Account(); 
acct1.setID(1122); 
acct1.setBalance(20000); 
acct1.setAnnualInterestRate(4.5); 
System.out.print("\nDepositing $3000 into account, balance is now "); 
acct1.deposit(3000); 
System.out.println(acct.getBalance()); 
System.out.print("\nWithdrawing $2500, balance is now "); 
acct1.withdraw(2500); 
System.out.println(acct.getBalance()); 
} 
} 
Смежные вопросы