內,外,匿名類

2021-08-16 08:01:43 字數 2568 閱讀 9385

1,      單詞:arithmetic 算數,演算法  leak洩露

2,內部類介紹:(1

)*在類中再定義乙個類。

*按著位置不同,分為

2種情況

*a:成員位置:成員內部類,方法外

*b:區域性位置:區域性內部類,方法內

(2)//

在區域性位置的本地變數,或者區域性變數,只能使用

final

修飾,不能使用

private,public,static

修飾//private int i;

這樣就是不行的。

/**

區域性內部類,只能用

abstract or final

修飾。*

其他的修飾符,

public protected,private,static

不能用a:成員內部類訪問外部類的成員時,直接訪問即可,包括私有。

b:外部類訪問內部類時:必須建立物件。

c:區域性內部類可以直接訪問外部類的成員,

d: 區域性內部類訪問外部方法的區域性變數的注意事項:

* 區域性變數必須被

final

修飾* */

e:可以建立內部類物件,通過物件呼叫內部類方法,來使用區域性內部類功能.,*

語法:外部類

.內部類

物件名=

外部類物件

.內部類物件

* 外界只能訪問成員內部類,不能訪問區域性內部類,就像,我們不能訪問成員方法的區域性變數

f://

區域性內部類,是跨方法的,不能訪問,

(3)在區域性位置的本地變數,或者區域性變數,只能使用

final

修飾,不能使用

private,public,static

修飾//private int i;

這樣就是不行的。

/**

區域性內部類,只能用

abstract or final

修飾。*

其他的修飾符,

public protected,private,static

不能用練習:

packagecom.newedu.jb.day12.innerclass;

/***

演示內部類的概念

* *

內部類:在類中再定義乙個類。

* 按照位置不同可以分為兩種情況:

* a:成員位置:成員內部類

* b:區域性位置:區域性內部類

* @author jerry**/

//外部類

public class outerclass

public static void method11()

}public void show()

//成員方法

public void method2()

}system.out.println("outerclass#method2()");

system.out.println("*****

呼叫區域性內部類的成員

*****");

innerclass2 innerclass2 = new innerclass2();

//呼叫區域性內部類的成員

system.out.println(innerclass2.i2);

innerclass2.method3();

}}      

測試內部的常用使用方式

packagecom.newedu.jb.day12.innerclass;

/***

測試內部的常用使用方式

* * 1

:內部類中,可以直接訪問外部類的成員,包括私有的

private

* 2:

外部類,如果想訪問內部類的成員,需要建立內部類的物件

* *

* 外界如何建立物件,如何訪問成員變數

* * 語法:

*   

外部類.

內部類物件名

= 外部類的物件

.內部類的物件;*

* @author jerry**/

public class outerclassdemo

}3,匿名內部類:就是內部類的簡化寫法。

(1)格式:

new 類名或者介面名() ;

(2)本質:

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

(3)如果,匿名內部類中,有很多個成員方法,會導致,很繁瑣

*改進,可以使用乙個建立變數名的形式,來引用匿名物件,來達到多次

*引用(這裡的引用是指引用匿名物件裡面重寫的方法)的目的

(4)匿名內部類的前提:存在乙個類(具體的,抽象的都行)或者介面

* 定義乙個匿名的,並且在

main()

方法內部的乙個類,叫匿名內部類

*本質上,是繼承了乙個類或者實現了乙個介面的子類匿名物件。既然是物件,可以在物件上面呼叫它的

*成員變數或者成員方法

*匿名內部類,適合於,只使用一次的場景,用完就銷毀了。

*使用場景二:不能建立子類的時候,可以考慮使用匿名內部類

匿名物件和匿名類

一,匿名物件 匿名物件 沒有名字的物件 new car 匿名物件其實就是定義物件的簡寫格式。car c new car c.run 用匿名物件來書寫以上 new car run 匿名物件的使用方法 1 當物件對方法僅進行一次呼叫的時候,就可以簡化成匿名物件。如乙個 物件需要進行呼叫方法2次,用匿名物...

巢狀類 匿名類 密封類

巢狀類 在c 中可以將乙個類定義在另乙個類的內部,外部的叫外部類,內部的巢狀類 namespace 27 set public void hello 巢狀類 public class web webname,weburl class program 匿名類 如果某個類的例項物件只會使用到一次,可以使...

Java匿名類,Java匿名內部類

匿名類是指沒有類名的內部類,必須在建立時使用 new 語句來宣告類。其語法形式如下 new 類或介面 這種形式的 new 語句宣告乙個新的匿名類,它對乙個給定的類進行擴充套件,或者實現乙個給定的介面。使用匿名類可使 更加簡潔 緊湊,模組化程度更高。匿名類有兩種實現方式 下面通過 來說明。public...