java - 面向对象的Java : External method calling with variable reference

标签 java class variables methods external

使用BlueJ作为编译器来学习外部方法调用/引用。我的目标是了解有关从另一个类调用方法以及如何引用该类中的变量的更多信息。

我理解的是外部方法调用本质上是这样的:

object.methodName(parameters);

我正在从事的当前项目要求我完成ArrayList并提取列表中所有账户的余额。我只负责两个类(class)。 Bank.classBankAccount.classBankAccount.class我有4种方法; withdraw() , deposit() , showBal() ,和acctInfo() 。对于银行我只有两种方法,listAllAccounts() ,和sumAllAccounts()

我一直在为 sumAllAccounts() 编写代码因为它要求我将所有 BankAccount.class 的余额相加添加到 private ArrayList<BankAccount> accounts 的对象

我不需要直接的答案,我来这里只是因为我已经用尽了我的资源。在我的类(class)中我们没有讨论static classesnull然而很多类似的帖子对我来说很难理解。

我在其他地方读到,不可能将实例变量从一个类带到另一个类。所以我很好奇我该如何提取 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/

相关文章:

java - 如何仅在 Spring Security 上对某些 URL 强制使用 https?

java - 如何添加Java多线程

java - JAR 的访问限制(获取 VecMath 的正确方法是什么?)

java - 访问不同 Java 类的变量时遇到问题

wpf - 有什么方法可以在 WPF 中重用绑定(bind)?

java - 使用 JavaFX 围绕球体移动物体

c# - 在 C# 中执行控制台应用程序?

objective-c - 告诉自定义委托(delegate)何时调用方法

C# 一个类的 List<> 可以/应该是同一个类的静态成员吗​​?

java - 在不同类中操作变量的基础知识