2014-08-28 16 views
0

我有一個名爲getX1()方法,從不同的類中獲取數據:如何在靜態方法中設置一個等於值的double方法?

public double getX1(){ 
    double x1 = getIntent().getExtras().getDouble("s_xd2"); 

    return x1; 
} 

,我要將此等於值的靜態方法。

public static double[] xWerte() { 
    double x1 = getX1(); 

    return new double[] {x1,2.0,3.0,4.0,5.0,6.0,7.0}; 
} 

但它不會讓我......它是如何工作的?

它說:非靜態方法「信息getX1()」不能從靜態上下文

回答

0

靜態方法只能調用靜態方法引用。這是因爲靜態方法不屬於該類的任何特定實例,而是將非靜態方法綁定到該類的每個實例。所以當你試圖從一個靜態方法調用getX1()時,它不知道從哪個類的實例調用方法。爲了解決這個問題,可以將方程式置入靜態方法或使getX1()爲靜態方法。

+0

靜態方法可以調用實例方法 - 它只是你需要提供一個實例打電話給他們。 – 2014-08-28 18:01:47

1

它說:非靜態方法「信息getX1()」不能從靜態上下文

權被引用 - 這是有什麼做創建一個數組,或者類似的東西。

問題是getX1()實例方法 - 它需要對聲明類的實例進行操作。你的xWerte方法是一個靜態方法,所以它自然不會有一個實例來操作。

選項:

  • xWerte實例方法太
  • xWerte的類的實例與(例如,在將它作爲一個參數)
  • getX1一個靜態方法的工作(可能棘手,給予getIntent調用)
+0

選項1:不能這樣做,因爲它必須是靜態的選項2:不知道它是如何工作的(編碼業餘選項)選項3:也許很難:( – Megaetron 2014-08-28 18:18:01

+0

是否有其他選項可以從不同的數據中獲取數據類可以與靜態工作在一起? – Megaetron 2014-08-28 18:22:33

+0

那麼你需要從某個地方得到意圖...... – 2014-08-28 18:33:56