好奇,爲什麼以下代碼私有變量內部類:值的解釋?
public class OuterClass{
int i;
public void printme(){
System.out.println("Outerclass");
i+=20;
System.out.println(i);
class InnerClass extends OuterClass {
public void printme(){
System.out.println("InnerClass");
i+=10;
System.out.println(i);
}
}
InnerClass second = new InnerClass();
second.printme();
System.out.println("Outerclass-2");
System.out.println(i);
return;
}
public static void main(String []args){
System.out.println("start");
OuterClass first = new OuterClass();
first.printme();
}
}
輸出是
開始在OuterClass 20將InnerClass 10在OuterClass-2 20
但是,如果INT I被聲明爲private輸出是
start外部類20內部類30 Outerclass-2 30
有人能解釋一下嗎?
部分看here如果你給我你的地址,我會送你一個較慢的鍵盤。你似乎總是用這樣的答案來打敗我。 –
@DavidWallace我住在Stackoverflow服務器的街對面。 –