內部類概述和訪問特點

2021-07-24 07:04:12 字數 3146 閱讀 4048

1

/**2

* 1.內部類可以直接訪問外部類的成員,包括私有

3* 2.外部類要訪問內部類的成員必須建立物件4*

@author

jjz5*6

*/7class

outer1 13}

1415

public

void

show1()

2021}22

23public

class

outer

28 }

1

/**2

* 成員內部類3*/

4class

outer1 10}

11}1213

public

class

outer

19 }

成員內部類的修飾符:

private 為了保證資料的安全性

static 為了方便訪問資料

注意:靜態內部類訪問的外部類資料必須用靜態修飾。

案例:我有乙個人(人有身體,身體內有心臟。)

1

class

body 6}

78//加了private修飾之後就不能直接訪問了,所以通過method訪問

9public

void

method() 14}

15}1617

class

test

26 }

static修飾內部類:

1

class

outer

1112

public

static

void

show2() 16}

17}1819

class

innerclassdemo4

36 }

1/*2

面試題:

3要求請填空分別輸出30,20,10。45

注意:6

1:內部類和外部類沒有繼承關係。

72:通過外部類名限定this物件

8outer.this9*/

10class

outer 21}

22}23class

innerclasstest

28 }

區域性內部類

a:可以直接訪問外部類的成員

b:在區域性位置,可以建立內部類物件,通過物件呼叫內部類方法,來使用區域性內部類功能

面試題:

區域性內部類訪問區域性變數的注意事項?

a:區域性內部類訪問區域性變數必須用final修飾

b:為什麼呢?

區域性變數是隨著方法的呼叫而呼叫,隨著呼叫完畢而消失。

而堆記憶體的內容並不會立即消失。所以,我們加final修飾。

加入final修飾後,這個變數就成了常量。既然是常量。你消失了。

我在記憶體中儲存的是資料20,所以,我還是有資料在使用。

1

class

outer 13}

1415

1617 inner i = new

inner();

18i.show();19}

20}2122

class

innerclassdemo5

27 }

匿名內部類

1/*2

匿名內部類

3就是內部類的簡化寫法。45

前提:存在乙個類或者介面

6這裡的類可以是具體類也可以是抽象類。78

格式:9

new 類名或者介面名()

1213

本質是什麼呢?

14是乙個繼承了該類或者實現了該介面的子類匿名物件。

15*/

16inte***ce

inter

2021

class

outer

29}.show();

30*/

3132

//二個方法的時候

33/*

34new inter()

3839

public void show2()

42}.show();

4344

new inter()

4849

public void show2()

52}.show2();

53*/

5455

//如果我是很多個方法,就很麻煩了

56//

那麼,我們有沒有改進的方案呢?

57 inter i = new inter()

6162

public

void

show2()

65};

6667

i.show();

68i.show2();69}

70}7172

class

innerclassdemo6

77 }

1

inte***ce

person145

//class student implements person1

11//

12//}13

14class

persondemo18}

1920

public

class

outer

3334

});35

}36 }

1/*2

匿名內部類面試題:

3按照要求,補齊**

4inte***ce inter

5class outer

6class outerdemo 10}

11要求在控制台輸出」helloworld」

12*/

13inte***ce

inter

1718

class

outer

26};27}

28}2930

class

outerdemo

39 }

內部類訪問特點

內部類的class位元組碼檔案名字格式為outer inner.class。內部類訪問特點 1,內部類可以直接訪問外部類中的成員。2,外部類要訪問內部類,必須建立內部類的物件。一般用於類的設計。分析事物時,發現該事物描述中還有事物,而且這個事物還在訪問被描述事物的內容。這時就是還有的事物定義成內部類...

內部類的訪問特點

今天刷題的時候遇到了一題關於內部類的訪問的問題,發現自己忘了許多,現在來複習一下。首先,內部類的類位元組碼檔案名字為outer inner.class。記住一下訪問原則 1.內部類相當於外部類的乙個成員變數,因此內部類可以直接訪問外部類的成員。但是注意內部類靜態方法不能訪問外部類非靜態成員 2.但是...

內部類概述

就是在乙個類中定義另外乙個類 在a類中定義乙個b類,那麼將b類就稱為a類的內部類,a類就是b類的外部類 內部類是可以訪問外部類的成員,包括私有 外部類成員要想訪問內部類成員必須通過建立內部類物件來訪問。內部類的分類 1 成員內部類 在外部類的成員位置定義的類 2 區域性內部類 在區域性位置 外部類的...