亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

Java內部類學習筆記
2007-09-25   網絡

內部類的定義:在一個類的內部定義的類稱為內部類。并且內部類不能與外部類重名。/d5x
外部類的定義:把內部類所在的類稱為外部類。V~>
內部類包括:成員內部類和局部內部類。s
成員內部類包括:實例內部類和靜態內部類。y)
©海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  htJ+
1.實例內部類:z01)4_
1)在創建實例內部類的實例時,外部類的實例必須已經存在。/
2)實例內部類的實例自動持有外部類實例的引用。在內部類中,可以直接訪問外部類的所有成員(成員方法和成員變量)。q_)S
在多重嵌套中,內部類可以訪問所有外部類的成員。]$zz

代碼:
--------------------------------------------------------------------------------
RW
class A{ wv."M
private void methodA() {}kp=Hx@
class B {.~~
private void methodB() {}&--
class C {s.A
private void method() {X*
methodA();^~b"
methodB();fI>
}^LN="
}zL4
}©海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  ~Kj+9K
}©海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  "x



8yT)S_
3)外部類實例與內部類實例之間是一對多的關系。在外部類中不能直接訪問內部類的成員,必須通過內部類的實例去訪問。通過實例的訪問,即使是處于private外部類也能夠訪問。?o{
4)在實例內部類中不能定義靜態成員,只能定義實例成員。)sl;I
5)如果實例內部類B和外部類A包含同名的成員(如變量v),則在類B中,this.v表示B的成員,A.this.v表示A的成員。tX^
©海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  .=xxO0
2.靜態內部類.V
1)靜態內部類的實例不會自動持有外部類的特定實例的引用,在創建內部類的實例時,不必創建外部類的實例。tss=:
2)靜態內部類可以直接訪問外部類的靜態成員,如果訪問外部類的實例成員,就必須通過外部類的實例去訪問。}3

代碼:
--------------------------------------------------------------------------------
-.;
class A{1#gEm
private int a1;W9s9Gb
private static int a2;Dh
I|P
public static class B{whP6
int b1 = new A().a1;b=
int b2 = a2-mjM<
}b
}&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  ^%3Yh$



r=fqg
3)在靜態內部類中可以定義靜態成員和實例成員。而實例內部類中只能定義實例成員。+SF
4)客戶類可以通過完整的類名直接訪問靜態內部類的靜態成員。_cVi0B
&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  /krzd4
3.局部內部類)K
局部內部類是在一個方法中定義的內部類,它的可見范圍是當前方法。~f%8<`
1)局部內部類只能在當前方法中使用。UZ
2)局部內部類也不能含有靜態成員。am.ph'
3)局部內部類中定義的內部類只能用默認的修飾,不能被public protected和private修飾。C
4)局部內部類和實例內部類一樣,可以訪問所有外部類的所有成員。此外,局部內部類還可以訪問所在方法中的final類型的參數和變量。N

代碼:
--------------------------------------------------------------------------------
jpa
class A{t
int a^?
public void method(final int p1,int p2)4
{pyK@X
int localV1=1;BO+Qx)
final int localV2=2;=Y
class B{?m=18
int b1=a;s
int b2=p1;pwW`
int b3=localV2;+19[
}0u-RUV
}UriT
}&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  lc1



4
&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  T4dM
4.子類與父類中內部類的同名ra472
內部類并不存在覆蓋的概念,假如子類與父類中存在同名的內部類,那么這兩個類也會分別在不同的命名空間中,因此不會發生沖突。N
&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  5AkSiy
5.匿名類Yn7u
匿名類是一種特殊的內部類,這種類沒有名字。78
1)匿名類本身沒有構造方法,但是會調用父類的構造方法。}FA

代碼:
--------------------------------------------------------------------------------
{I3 oX
public class A{K2
A() {System.out.println(“default constructor”);}oO^h
void method () {System.out.println(“from A”);}3
public static void main(String args[])W#1q
{b
new A().method();UN5Dd
A a=new A(){ //匿名類3
void method() {ACX
System.out.println(“from anonymous”);}z|^v)
};'+v
a.method();'S
}Em
}&copy;海岸線網絡安全技術論壇 -- 自由,開放,免費,共享  DOg2h



Eh
2)匿名類可以提供一段實例初始化代碼,Java虛擬機會在調用父類的構造方法后,執行這段代碼。但只能創建一次實例。:
3)除了可以在外部類的方法內定義匿名類,還可以在申明一個成員變量時定義匿名類。i
4)匿名類可以繼承類,也可以實現接口5TgQx
5)匿名類和局部內部類一樣,可以訪問外部類所有的成員,如果匿名類位于一個方法中,還能訪問所在方法的final類型的變量和參數。Avy

熱詞搜索:

上一篇:ASP初學者常犯的幾個錯誤
下一篇:HTML代碼簡介(1)

分享到: 收藏