public class Bird
{
private static int id = 0;
private String kind;
public Bird(String requiredKind)
{
id = id + 1;
kind = requiredKind;
}
public String toString()
{
return "Kind: " + kind + ", Id: " + id + "; ";
}
public static void main(String [] args)
{
Bird [] birds = new Bird[2];
birds[0] = new Bird("falcon");
birds[1] = new Bird("eagle");
for (int i = 0; i < 2; i++)
System.out.print(birds[i]);
System.out.println();
}
}
我明白,因爲int是靜態的,兩個id將是相同的,但不知道爲什麼輸出是2而不是1?運行時爲什麼輸出到這個代碼都是2?
輸出:
Kind: falcon, Id: 2; Kind: eagle, Id: 2;
哦,我明白了,謝謝你所有的答案 – user2121536 2013-04-30 09:49:16