Java內部類詳解 及 區域性內部類和匿名內部類只能訪問區域性final變數的原因
說起內部類這個詞,想必很多人都不陌生,但是又會覺得不熟悉。原因是平時編寫程式碼時可能用到的場景不多,用得最多的是在有事件監聽的情況下,並且即使用到也很少去總結內部類的用法。今天我們就來一探究竟。下面是本文的目錄大綱:
一.內部類基礎
二.深入理解內部類
三.內部類的使用場景和好處
四.常見的與內部類相關的筆試面試題
若有不正之處,請多諒解並歡迎批評指正。
請尊重作者勞動成果,轉載請標明原文連結:
http://www.cnblogs.com/dolphin0520/p/3811445.html
一.內部類基礎
在Java中,可以將一個類定義在另一個類裡面或者一個方法裡面,這樣的類稱為內部類。廣泛意義上的內部類一般來說包括這四種:成員內部類、區域性內部類、匿名內部類和靜態內部類。下面就先來了解一下這四種內部類的用法。
1.成員內部類
成員內部類是最普通的內部類,它的定義為位於另一個類的內部,形如下面的形式:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class Circle
{
double radius
= 0 ;
public Circle( double radius)
{
this .radius
= radius;
}
class Draw
{ //內部類
public void drawSahpe()
{ System.out.println( "drawshape" );
}
}
}
|
這樣看起來,類Draw像是類Circle的一個成員,Circle稱為外部類。成員內部類可以無條件訪問外部類的所有成員屬性和成員方法(包括private成員和靜態成員)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Circle
{
private double radius
= 0 ; public static int count
= 1 ;
public Circle( double radius)
{
this .radius
= radius;
}
class Draw
{ //內部類
public void
|