我遇到了這樣一個Java問題有關使實例變量靜:使實例變量靜
public class Student {
private static String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
和測試:
public void testBadStatic() {
Student studentA = new Student("a");
assertEquals("a", studentA.getName());
Student studentB = new Student("b");
assertEquals("b", studentB.getName());
assertEquals("a", studentA.getName());
我認爲第二的assertEquals將失敗,因爲該名稱變量是靜態,所以它已經被分配了「a」。但是,對於第二個斷言,正確的輸出應該是正確的,對於最後的斷言,正確的輸出應該是正確的。有人能幫我理解嗎?
謝謝。
你是否想讓這個測試通過,同時仍然擁有'name'字段'static'? –
我認爲你混淆'靜態'和'最後' – Dylan