本文實(shí)例講述了Java局部?jī)?nèi)部類和匿名內(nèi)部類。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用10多年,服務(wù)更有保障!服務(wù)器租用,四川聯(lián)通機(jī)房服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問(wèn)。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。
一 局部?jī)?nèi)部類
1 點(diǎn)睛
內(nèi)部類不僅可以在類中定義,也可以定義在方法體或作用域內(nèi)。這樣的內(nèi)部類作用范圍僅限于方法體或特定的作用域內(nèi),因此也稱為局部?jī)?nèi)部類。
2 代碼
class InnerClassTest { int score = 95; void inst() { class Inner { void display() { System.out.println("成績(jī): score = " + score); } } Inner in = new Inner(); in.display(); } } public class ObjectInnerClass { public static void main(String[] args) { InnerClassTest outer = new InnerClassTest(); outer.inst(); } }
3 運(yùn)行
成績(jī): score = 95
二 匿名內(nèi)部類
1 點(diǎn)睛
使用匿名內(nèi)部類,必須要繼承一個(gè)父類或?qū)崿F(xiàn)一個(gè)接口。需要注意的是:匿名內(nèi)部類是沒(méi)有class關(guān)鍵字做修飾的;匿名內(nèi)部類是直接使用new來(lái)生成一個(gè)對(duì)象的引用。在new之前,這個(gè)匿名內(nèi)部類的父類是要先定義的。
2 代碼
abstract class Bird { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public abstract int fly(); } public class AnonymousInnerClass { public void birdBehaviour(Bird bird) { System.out.println(bird.getName() + "最高能飛 " + bird.fly() + "米"); } public static void main(String[] args) { AnonymousInnerClass AnonyObjObj = new AnonymousInnerClass(); AnonyObjObj.birdBehaviour(new Bird() { public int fly() { return 1000; } public String getName() { return "小鳥(niǎo)"; } }); } }
3 運(yùn)行
小鳥(niǎo)最高能飛 1000米
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。