java內部類訪問外部類
發布時間: 2023-09-14 07:16:12
⑴ java內部類怎麼直接調用外部類啊
publicclassOuter{
intx;
Strings="hello";
publicvoidtest(){
System.out.print("test");
}
publicclassInner{
ints=20;
publicvoidtestInner(){
//可以直接使用外部類的成員變數和成員方法
x=0;
test();
//如果外部類的成員變數和內部類變數重名,可以這樣調用外部類的變數
Outer.this.s="test";
//當然你可以new外部類對象這也是沒問題的
Outero=newOuter();
o.x=30;
o.test();
}
}
}
⑵ java內部類可以訪問外部類的靜態方法嗎
內部類
就相當於一個外部類的成員變數,所以可以直接訪問
外部變數
,外部類不能直接訪問內部類變數,必須通過創建內部類實例的方法訪問,
new
InnerClass
(32).m就是創建內部類實例訪問內部類成員變數。
你想不通的肯定是指內部類的私有變數怎麼可以被外部類訪問吧,按常規,私有變數m只能在InnerClass里被訪問,
但你要注意,內部類就相當於一個外部類的成員變數,舉個例子。
class
Outer{
private
int
m;
private
class
Inner{
private
int
n;
private
int
k;
}
}
m和類Inner都是成員變數,他們之間是平等的,唯一不同的就是Inner它是包裝了幾個成員變數比如n,k,也就是說m
n
k是平等的,區別在於訪問n
k要通過Inner,就是要建立Inner實例訪問nk,這樣解釋夠明白了吧
⑶ java內部類怎麼訪問外部類的方法
在內部類使用this表示的是對內部類自身的引用,如果想要獲取外部類的引用,應當使用Outer.this,所以訪問外部類的方法:
Outer.this.xxxx()
熱點內容