2016-03-15 93 views
0

我想調用這個方法:調用方法的Java

public int ArraySum(int[] a) 
    { 
     int sum = 0; 
     int Element; 
     for(Element = 0; Element < a.length; Element++) 
     { 
      sum = sum + a[Element]; 
     } 
     return sum; 
    } 

在這種方法(在不同的類):

public int Mean() 
    { 
     return (something.ArraySum(a))/2; 
    } 

我知道,我可能需要創建一個對象但我不確定如何。

+0

因爲該方法ISN」 t靜態,你需要一個封閉類的實例。你還沒有發佈。此外,Java方法名稱應以小寫字母開頭。 –

+1

您可能想使用'/ a.length'而不是'/ 2'。 –

+0

Elliott Frisch,請你詳細說明一下嗎?當你說封閉課程或我需要該課程的一個實例時,我不確定你的意思。 – Alioune

回答

0

只是一個例子:

public class C1 
{ 
    //all the fields and stuff 
    public int hello(int a) 
{ 
    //all the code 
} 
    public static int hey(int a) 
    { 
    //all code 
} 
} 

注:上述功能之一是靜態的。觀察我們如何稱呼他們。

public class C2 
{ 
//all fields and stuff 
public void callerFunction() 
{ 
    C1 obj=new C1(); 
    //created an object of class C1 
    obj.hello(5); 
    C1.hey(10); 
    //only class name is required while calling static methods. 
} 
} 
+0

所以你說對象需要調用方法? – Alioune

+0

如果該方法不是靜態的,那麼您需要一個對象來調用它。因爲每個對象都有單獨的方法副本,而靜態方法是類方法,並且對於所有對象都是唯一的。 –

0

您需要創建類ArraySum方法所在的對象。如果它出現在Calculator類象下面這樣:

public class Calculator{ 
    public int ArraySum(int[] a){ 
     int sum = 0; 
     int Element; 
     for(Element = 0; Element < a.length; Element++) 
     { 
      sum = sum + a[Element]; 
     } 
     return sum; 
    } 
} 

然後,你需要做的是(假設類沒有定​​義任何非零參數的構造函數)是什麼,

Calculator calculator = new Calculator(); 
calculator.ArraySum(..);