如何将方法从不同的类传递到Java中的另一个类?

问题描述 投票:0回答:3

有两个文件名为:

  1. AnnuityDueGUI.java
  2. AnnuityDueResultGUI.java

AnnuityDueGUI.java下,有这个方法如下:


public double calculateFADGUI() {
        //FVA = A{[(1+i)^n – 1] / i} (1+i)
        String amountStr = amount.getText();  // Convert string to double
        dAmount = Double.parseDouble(amountStr);
        String iStr = iText.getText();
        dInterest = Double.parseDouble(iStr);
        String periodStr = period.getText();
        dPeriod = Double.parseDouble(periodStr);
        iPeriod = (int)dPeriod;
        due = new Annuity(dAmount, dInterest, iPeriod);
        System.out.println(due.calculateFAD());
        return due.calculateFAD();   //calculateFAD() is under Annuity.java
    }

在 AnnuityDueResultGUI.java 下,如何从上面所述的方法中获取结果?这两个类都在同一个包“GUI”下。我也做了

import AnnuityDueGUI.* ;

但我仍然不知道如何从 AnnuityDueGUI.java 获取结果并将其显示在 AnnuityDueResultGUI.java.

java class methods import package
3个回答
6
投票

您将需要在 AnnuityDueResultGUI 中引用 AnnuityDueGUI 对象。比如说

AnnuityDueGUI adg = new AnnuityDueGUI()
double result = adg.calculateFADGUI()

更新

此外,如果您碰巧已经在其他地方构建 AnnuityDueGUI,您可以将引用传递给 AnnuityDueResultGUI

public AnnuityDueResultGui(AnnuityDueGUI adg) {
    this.adg = adg;
}

private void otherFunc () {
    double results = this.adg.calculateFADGUI()
}

0
投票
class AnnuityDueGUI {

public double calculateFADGUI(){
        //FVA = A{[(1+i)^n – 1] / i} (1+i)
        String amountStr = amount.getText() ;  //convert string to double
        dAmount = Double.parseDouble(amountStr) ;
        String iStr = iText.getText() ;
        dInterest = Double.parseDouble(iStr) ;
        String periodStr = period.getText() ;
        dPeriod = Double.parseDouble(periodStr) ;
        iPeriod = (int)dPeriod ;
        due = new Annuity(dAmount, dInterest, iPeriod) ;
        System.out.println(due.calculateFAD()) ;
        return due.calculateFAD() ;   //calculateFAD() is under Annuity.java
    }

//...other code
}

class AnnuityDueResultGUI {

AnnuityDueGUI var = new AnnuityDueGUI();
double result = var.calculateFADGUI();
//other code
}

0
投票

创建

AnnuityDueResultGUI
并引用实际的
AnnuityDueGUI
实例,然后您可以访问该方法:

public class AnnuityDueResultGUI {
  private AnnuityDueGUI parent;

  public AnnuityDueResultGUI(AnnuityDueGUI parent) {
    this.parent = parent;
  }

  public void somemethod() {
    parent.calculateFADGUI();  // now you can access a method from a AnnuityDueGUI  instance
  }
}

以及

AnnuityDueGUI
:

方法内的某处
// ...
AnnuityDueResultGUI resultGUI = new AnnuityDueResultGUI(this);
// ...
© www.soinside.com 2019 - 2024. All rights reserved.