2010-08-09 4 views
1

Il y a 2 fichiers nommés:comment passer une méthode de classe différente à une autre classe en Java?

  1. AnnuityDueGUI.java
  2. AnnuityDueResultGUI.java

Sous AnnuityDueGUI.java, il y a cette méthode comme ci-dessous:

===== ========

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 
    } 

===============

Sous AnnuityDueResultGUI.java, comment obtenir le résultat de la méthode que j'ai indiqué ci-dessus? Les deux classes sont sous le même package "GUI". J'ai également fait import AnnuityDueGUI.* ;

Mais toujours aucune idée sur la façon de récupérer le résultat de AnnuityDueGUI.java et l'afficher sous AnnuityDueResultGUI.java.

S'il vous plaît aider et merci à l'avance.

Répondre

6

Vous aurez besoin d'une référence à l'objet AnnuityDueGUI dans AnnuityDueResultGUI. Ainsi, par exemple

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

MISE À JOUR:

Aussi, si vous arrive d'être la construction déjà AnnuityDueGUI ailleurs, vous pouvez simplement passer la référence à AnnuityDueResultGUI

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

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

exactement ce que je réponds ... Je dois être plus rapide;) –

+0

je ne sais pas où la variable quantité est stockée, mais si cela ne fait pas partie de AnnuityDueGUI, alors considérez que calculateFADGUI est statique et que le montant est passé. – Quentamia

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

Créer AnnuityDueResultGUI avec une référence à l'instance réelle AnnuityDueGUI, vous pouvez accéder à la méthode:

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 
    } 
} 

et quelque part à l'intérieur d'une méthode de AnnuityDueGUI:

// ... 
AnnuityDueResultGUI resultGUI = new AnnuityDueResultGUI(this); 
// ... 
Questions connexes