JavaSE(五)——修饰符、内部类、匿名内部类
文章目錄
- 1. 方法參數(shù)及返回值類型
- 2. 修飾符總結(jié)
- 2.1 修飾類
- 2.2 修飾成員變量
- 2.3 修飾成員方法
- 2.4 接口的成員
- 3. 內(nèi)部類
- 3.1 成員內(nèi)部類
- 3.2 局部內(nèi)部類
- 4. 匿名內(nèi)部類
- 4.1 定義
- 4.2 格式
- 4.3 應(yīng)用
1. 方法參數(shù)及返回值類型
特點:
(1)當(dāng)一個方法的形參或者返回值類型要一個類類型時,就傳一個該類的對象。
(2)當(dāng)一個方法的形參或者返回值類型要一個抽象類類型時,就傳一個繼承該抽象類的子類對象。
(3)當(dāng)一個方法的形參或者返回值類型要一個接口類型時,就傳一個實現(xiàn)該接口的子類對象。
- 實例
2. 修飾符總結(jié)
2.1 修飾類
(1)public :默認修飾符,一個java的源文件中只能有一個被public修飾的類,且此類名與文件名相同。
(2)final:被修飾的類不能被繼承。
(3)abstract:可以有構(gòu)造方法,但不能實例化,只能由其子類進行實例化。抽象類的子類要么是抽象類,要么重寫父類中的所有抽象方法。
2.2 修飾成員變量
(1)private:被修飾的成員只能在本類中訪問,需提供對應(yīng)的getXX()和setXX()方法。
(2)static :被修飾的成員變量屬于類,被類中的所有對象享用。
(3)final :被修飾的變量為常量,不能重新賦值。
2.3 修飾成員方法
(1)private:被修飾的成員方法只能在本類中訪問。
(2)static:被修飾的成員方法可通過類名直接調(diào)用。格式:類名.方法名();靜態(tài)方法只能訪問靜態(tài)成員;靜態(tài)方法能被繼承,不能被重寫。
(3)final:被修飾的成員方法能被繼承,但不能被重寫。
(4)abstract:被修飾的成員方法沒有具體的方法體,子類必須重寫父類的所有抽象方法來具體實現(xiàn)各自的功能。
2.4 接口的成員
(1)成員變量:只能是靜態(tài)的常量。默認修飾符:public static final
(2)成員方法:只能是抽象方法。默認修飾符:public abstract
3. 內(nèi)部類
劃分:
內(nèi)部類分為成員內(nèi)部類和局部內(nèi)部類。內(nèi)部類也會生成.class文件。
特點:
(1)內(nèi)部類可以訪問外部類的所有成員,包括私有的。
(2)外部類若要訪問內(nèi)部類的成員,需要創(chuàng)建內(nèi)部類對象。格式:外部類類名.內(nèi)部類類名 對象名=new 外部類類名().new 內(nèi)部類類名()
(3)內(nèi)部類如果被private修飾,則無法創(chuàng)建其對象
(4)內(nèi)部類如果被static 修飾,則外部創(chuàng)建對象的格式發(fā)生改變,格式:外部類類名.內(nèi)部類類名 對象名=new 外部類類名.內(nèi)部類類名()
(5)當(dāng)局部內(nèi)部類去訪問外部類的局部變量時,該成員變量必須是final 修飾
一個內(nèi)部類對象可以訪問創(chuàng)建它的外部類對象的內(nèi)容,內(nèi)部類如果不是 static 的,那么它可以訪問創(chuàng)建它的外部類對象的所有屬性;內(nèi)部類如果是 static 的,即為 nested class,那么它只可以訪問創(chuàng)建它的外部類對象的所有 static 屬性。
什么時候使用內(nèi)部類?
如果一個事物里包含著其他事物,其他事物,可以創(chuàng)建一個內(nèi)部類。
3.1 成員內(nèi)部類
定義在外部類中的成員位置,與類中的成員變量相似,可通過外部類對象進行訪問。
內(nèi)部類可以使用外部類的成員,包括私有成員。但是外部類要使用內(nèi)部類的成員,必須建立內(nèi)部類變量。
3.2 局部內(nèi)部類
定義:在方法里面有一個內(nèi)部類。
只有在內(nèi)部類所屬的方法中創(chuàng)建內(nèi)部類對象,方可訪問局部內(nèi)部類。而測試類中只需要創(chuàng)建外部類對象,然后調(diào)用外部類方法即可。
-
實例
-
運行結(jié)果
4. 匿名內(nèi)部類
4.1 定義
是一個繼承了某個類或是實現(xiàn)某個接口的子類對象,其本質(zhì)上是一個對象。
4.2 格式
注意:最后要加分號,表示一個子類對象的建立,必須與父類有繼承關(guān)系,且匿名內(nèi)部類只能寫在方法中。
- 實例
- 運行結(jié)果
4.3 應(yīng)用
常用于作為參數(shù)傳遞或作為返回值返回
總結(jié)
以上是生活随笔為你收集整理的JavaSE(五)——修饰符、内部类、匿名内部类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaSE(四)——方法重写、多态、接
- 下一篇: JavaSE(六)——Object类、克