構造函數中的本地範圍成本(參數)隱藏了類範圍成本(靜態)。 更改構造是這樣的:
public Car(int cost)
{
Car.cost = cost;
}
不要this.cost
解決類範圍變量(靜態費用)。而應使用類名稱靜態地進行編址。
編輯:這是一個簡單的例子:
public final class CostTest
{
private static int cost;
public static void main(String[] args)
{
CostTest costTest;
System.out.print("initial static cost value: ");
System.out.println(CostTest.cost);
costTest = new CostTest(17);
System.out.print("static cost value: ");
System.out.println(CostTest.cost);
System.out.print("static cost value via instance variable: ");
System.out.println(costTest.cost);
}
public CostTest(int cost)
{
CostTest.cost = cost;
}
}
當你把這個ecliipse,你應該看到,說就行了System.out.println(costTest.cost);
警告像「靜磁場CostTest.cost應該訪問一種靜態的方式「。
來源
2011-10-19 16:05:25
DwB
這可能會感興趣:http://stackoverflow.com/questions/5950025/multiple-instances-of-static-variables的 – NPE
可能重複[是可能有多個靜態變量實例](http://stackoverflow.com/questions/3349797/is-it-possible-to-have-multiple-instances-of-static-variables) – NPE