2017-06-03 166 views
-6

my work從另一個班級訪問班級?

(PIC以上) 我試圖訪問從Fram1.java的Food.calories或Food.carbs但它不讓我。有人能告訴我爲什麼嗎?

詳細信息...我試圖通過編程卡路里計數器來練習Java,而Frame1是一個GUI類。我正在試着寫另一個班,把所有的食物和他們的碳水化合物等等作爲他們的屬性。回答第一個問題就足夠了,但其他方式的任何提示都將不勝感激。謝謝!

+2

歡迎來到Stack Overflow。請查看[Tour](https://stackoverflow.com/tour)和[Asking](https://stackoverflow.com/help/asking)。 – Shiro

+1

不要張貼圖片,在這裏發表完整的代碼。 – WilomGfx

+1

我們看不到你的其他代碼,我們該如何回答這個問題? –

回答

0

首先,卡路里不是Food類中的字段。

其次,你是治療的碳水化合物場猶如靜態

  • static變量歸班級所有。
  • 非靜態變量由類實例擁有。

你可以做的領域中的食品類靜態如下:

public static int cals, carbs, fat, protein;

但是,如果您需要在系統中的多個食品項目,你需要創建食物類的例子。另外,如果您的構造函數具有設置字段的參數,而不是每個具有每個特徵10個的食物項目,它可能會有所幫助。

無論如何,這裏是實例化一個例子:

public class Frame1 
{ 
    private Food genericFood; 

    public Frame1() 
    { 
     genericFood = new Food(); 
     System.out.println(genericFood.cals); 
    } 
} 

因爲你正在創建的食品類的實例,你就不需要靜態打字。

此外,我建議調查封裝

相關問題