Java局部內(nèi)部類原理與用法實(shí)例分析
本文實(shí)例講述了Java局部內(nèi)部類原理與用法。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
如果把一個內(nèi)部類放在方法中定義,那么這個內(nèi)部類就是一個局部內(nèi)部類,局部內(nèi)部類僅在方法里有效。
由于局部內(nèi)部類不能在外部類的方法以外的地方使用,因此局部內(nèi)部類也不能使用控制符合static修飾符修飾。
如果需要用局部內(nèi)部類定義變量、創(chuàng)建實(shí)例或派生子類,那么都只能在局部內(nèi)部類所在的方法中進(jìn)行。
二 代碼
public class LocalInnerClass
{
public static void main(String[] args)
{
// 定義局部內(nèi)部類
class InnerBase
{
int a;
}
// 定義局部內(nèi)部類的子類
class InnerSub extends InnerBase
{
int b;
}
// 創(chuàng)建局部內(nèi)部類的對象
InnerSub is = new InnerSub();
is.a = 5;
is.b = 8;
System.out.println("InnerSub對象的a和b實(shí)例變量是:"
+ is.a + "," + is.b);
}
}
三 運(yùn)行
InnerSub對象的a和b實(shí)例變量是:5,8
四 說明
編譯完成后,會生成LocalInnerClass.class、LocalInnerClass$1InnerBase.class和LocalInnerClass$1InnerSub.class三個文件,之所以局部內(nèi)部類有數(shù)字是因?yàn)橥粋€類里可能有兩個以上的同名的局部內(nèi)部內(nèi)(處于不同的方法中)。
局部內(nèi)部內(nèi)作用域太小,不利于多次復(fù)用,因此在開發(fā)中很少使用局部內(nèi)部類。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
AQS(AbstractQueuedSynchronizer)抽象隊(duì)列同步器及工作原理解析
AQS是用來構(gòu)建鎖或者其他同步器組件的重量級基礎(chǔ)框架及整個JUC體系的基石,通過內(nèi)置的FIFO對列來完成資源獲取線程的排隊(duì)工作,并通過一個int類型變量表示持有鎖的狀態(tài),本文給大家詳細(xì)介紹下AQS抽象隊(duì)列同步器的相關(guān)知識,感興趣的朋友一起看看吧2022-03-03
Spring Boot 核心模塊詳解(12 個模塊詳解及作用說明)
和 Spring 框架一樣,Spring Boot 框架也是由許多核心模塊組成的,每個模塊負(fù)責(zé)不同的功能點(diǎn),本文講著重于介紹 Spring Boot 相關(guān)的 12 個模塊的作用和功能,感興趣的朋友一起看看吧2025-04-04
SpringBoot+Redission實(shí)現(xiàn)排行榜功能的示例代碼
這篇文章主要介紹了基于SpringBoot+Redission實(shí)現(xiàn)排行榜功能,實(shí)現(xiàn)一個排行榜,要求按照分?jǐn)?shù)和達(dá)成這個分?jǐn)?shù)的時間排序,即相同分?jǐn)?shù)下,時間早的在上面,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
java將文件轉(zhuǎn)成流文件返回給前端詳細(xì)代碼實(shí)例
Java編程語言提供了強(qiáng)大的文件處理和壓縮能力,下面這篇文章主要給大家介紹了關(guān)于java將文件轉(zhuǎn)成流文件返回給前端的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
Java concurrency線程池之線程池原理(三)_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理第三篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Java數(shù)據(jù)結(jié)構(gòu)之鏈表的增刪查改詳解
在這篇文章中,小編將帶大家了解一下Java數(shù)據(jù)結(jié)構(gòu)中鏈表的增刪查改(以下結(jié)果均在IDEA中編譯)希望在方便自己復(fù)習(xí)的同時也能幫助到大家2022-09-09

