----------
android培訓 java培訓 期待與您交流!------------
內部類創建後可以直接訪問外部類的任何成員,包括私有,靜態,而外部類要訪問內部類就只能創建內部類對象。
public class Test {
private int a = 0;
public static void main(String[] args)
{
new Test().new Inner();
}
class Inner
{
int a = 1;
Inner(){
int a = 2;
System.out.println(a);
}
}
}
代碼中的輸出語句只能打印出Inner構造函數中的a,結果爲2.
public class Test {
private int a = 0;
public static void main(String[] args)
{
new Test().new Inner();
}
class Inner
{
int a = 1;
Inner(){
int a = 2;
System.out.println(this.a);
}
}
}
代碼中只使用this.變量名,只能夠訪問到本內部類中的a。結果爲1.
public class Test {
private int a = 0;
public static void main(String[] args)
{
new Test().new Inner();
}
class Inner
{
int a = 1;
Inner(){
int a = 2;
System.out.println(Test.this.a);
}
}
}
按照:外部類.this.外部類成員名 的格式才能訪問外部類的成員,輸出爲0;
由於內部類也是成員,所以靜態也可以修飾內部類。
訪問權限也是同靜態一樣:靜態只能訪問靜態,非靜態可以訪問靜態和非靜態。