内部類通路外部類的成員可以直接通路,但是如果内部類和外部類有同名的成員時我們就要加以區分才可以得到我們想要的結果。
例如:
class Outer
{
public int num = 10;
class Inner
{
public int num = 20;
public void show(){
int num = 30;
// 要求依次輸出30 20 10
System.out.println(num);
System.out.println(this.num);
//System.out.println(new Outer().num);
System.out.println(Outer.this.num);
}
}
}
class InnerClassTest
{
public static void main(String[] args){
Outer.Inner oi = new Outer().new Inner();
oi.show();// 輸出 30 20 10
}
}