使用BlueJ作为编译器来学习外部方法调用/引用。我的目标是了解有关从另一个类调用方法以及如何引用该类中的变量的更多信息。
我理解的是外部方法调用本质上是这样的:
object.methodName(parameters);
我正在从事的当前项目要求我完成ArrayList
并提取列表中所有账户的余额。我只负责两个类(class)。 Bank.class
和BankAccount.class
在 BankAccount.class
我有4种方法; withdraw()
, deposit()
, showBal()
,和acctInfo()
。对于银行我只有两种方法,listAllAccounts()
,和sumAllAccounts()
。
我一直在为 sumAllAccounts()
编写代码因为它要求我将所有 BankAccount.class
的余额相加添加到 private ArrayList<BankAccount> accounts
的对象
我不需要直接的答案,我来这里只是因为我已经用尽了我的资源。在我的类(class)中我们没有讨论static classes
或null
然而很多类似的帖子对我来说很难理解。
我在其他地方读到,不可能将实例变量从一个类带到另一个类。所以我很好奇我该如何提取 float
将变量输入到另一个类中进行计算。
到目前为止我所写的是:
private void sumAllAccounts()
{
int index = 0;
float bal = 0;
float sum = 0;
while(index < accounts.size()) {
accounts.get(index);
bal = XXXXXXXXXXXXXXXXXXXXXXXXX
sum = sum+bal;
index++;
}
System.out.println("The total balance of all accounts listed are: " + sum);
}
我知道余额应该查看当时的索引对象并提取一个余额,我们可以将其添加到总和中。我不知道如何取得这种平衡。再说一遍,这只是我正在研究的一个例子,以便我可以更好地解释自己。您的回复的上下文可能不太具体。
最佳答案
假设 BankAccount
类中的 showBal()
返回一个 float
:
public void sumAllAccounts() {
float sum1 = 0;
for(BankAccount bankAccount : accounts) {
sum1 += bankAccount.showBal();
}
System.out.println("The total balance of all accounts listed are: " + sum1);
// or
int index = 0;
float bal = 0;
float sum2 = 0;
while(index < accounts.size()) {
bal = accounts.get(index).showBal();
sum2 = sum2 + bal; // can be simplified to: sum2 += accounts.get(index).showBalance();
index++;
}
System.out.println("The total balance of all accounts listed are: " + sum2);
// or
float sum3 = 0;
for(int i = 0; i < accounts.size(); i++) {
sum3 += accounts.get(i).showBal();
}
System.out.println("The total balance of all accounts listed are: " + sum3);
}
关于java - 面向对象的Java : External method calling with variable reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60361855/