Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析
本文實(shí)例講述了Java局部?jī)?nèi)部類和匿名內(nèi)部類。分享給大家供大家參考,具體如下:
一 局部?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ì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
如何把springboot jar項(xiàng)目 改為war項(xiàng)目
這篇文章主要介紹了如何把springboot jar項(xiàng)目 改為war項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
maven的pom.xml中repositories和distributionManagement使用
這篇文章主要介紹了maven的pom.xml中repositories和distributionManagement使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
劍指Offer之Java算法習(xí)題精講鏈表與字符串及數(shù)組
跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化2022-03-03
IDEA版使用Java操作Redis數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了IDEA版使用Java操作Redis數(shù)據(jù)庫(kù)的方法,首先需要下載jedis.jar包,然后再工程中設(shè)置具體操作步驟跟隨小編一起學(xué)習(xí)下吧2021-08-08
分布式面試消息隊(duì)列解決消息重復(fù)保證消息順序
這篇文章主要介紹了分布式面試問(wèn)題:分布式消息隊(duì)列如何解決消息重復(fù)并保證消息順序面試問(wèn)題解答,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03

