寫(xiě)在一個(gè)類(lèi)里面的類(lèi)就是內(nèi)部類(lèi)。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于撫遠(yuǎn)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),成都做商城網(wǎng)站。撫遠(yuǎn)網(wǎng)站建設(shè)公司,為撫遠(yuǎn)等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)2、什么時(shí)候用到內(nèi)部類(lèi)B類(lèi)表示的事物是A類(lèi)的一部分,且B單獨(dú)存在沒(méi)有意義。
比如:汽車(chē)的發(fā)動(dòng)機(jī),ArrayList的迭代器,人的心臟等。
3、內(nèi)部類(lèi)的分類(lèi)成員內(nèi)部類(lèi)、靜態(tài)內(nèi)部類(lèi)、局部?jī)?nèi)部類(lèi)、匿名內(nèi)部類(lèi)。
4、成員內(nèi)部類(lèi)寫(xiě)在成員位置的,屬于外部類(lèi)的成員。
獲取成員內(nèi)部類(lèi)的方式方法一:當(dāng)成員內(nèi)部類(lèi)被private修飾時(shí):
在外部類(lèi)編寫(xiě)方法,對(duì)外提供內(nèi)部類(lèi)對(duì)象。
public class outer {
private class inner{
}
public inner getInstance(){
return new inner();
}
}
方法二:在成員內(nèi)部類(lèi)被非私有修飾時(shí),直接創(chuàng)建對(duì)象。
outer.inner oi=new outer().new inner();
相當(dāng)于創(chuàng)建外類(lèi)的對(duì)象,用外類(lèi)的對(duì)象調(diào)用內(nèi)部類(lèi)。
4、外部類(lèi)成員變量和內(nèi)部類(lèi)成員變量重名時(shí),內(nèi)部類(lèi)如何訪問(wèn)
public class test {
private int a=10;
class inner{
private int a=20;
public void show(){
int a =30;
System.out.println(a);//30
System.out.println(this.a);//20
System.out.println(test.this.a);//10
}
}
}
5、靜態(tài)內(nèi)部類(lèi)靜態(tài)內(nèi)部類(lèi)是一種特殊的成員內(nèi)部類(lèi)。
創(chuàng)建靜態(tài)內(nèi)部類(lèi)對(duì)象的方法Outer.inner oi=new Outer.inner();
如何調(diào)用靜態(tài)內(nèi)部類(lèi)中的方法非靜態(tài)方法:先創(chuàng)建對(duì)象,用對(duì)象調(diào)用
靜態(tài)方法:外部類(lèi)名.內(nèi)部類(lèi)名.方法名();
靜態(tài)內(nèi)部類(lèi)如何調(diào)用外部類(lèi)的普通成員變量同靜態(tài)方法,需要在內(nèi)部類(lèi)創(chuàng)建外部類(lèi)的對(duì)象,用對(duì)象的方式調(diào)用變量。
6、局部?jī)?nèi)部類(lèi)1、內(nèi)部類(lèi)定義子方法中就叫做局部?jī)?nèi)部類(lèi),類(lèi)似于方法中的局部變量。
2、方法中局部?jī)?nèi)部類(lèi)是無(wú)法直接調(diào)用的,需要在方法內(nèi)部創(chuàng)建對(duì)象才能調(diào)用。
3、該類(lèi)可以直接訪問(wèn)外部類(lèi)的成員,也可以訪問(wèn)方法中的局部變量。
注意:局部變量不可以使用public 和private修飾,局部?jī)?nèi)部類(lèi)和局部變量作用等同,也不可以被修飾。
7、匿名內(nèi)部類(lèi)隱藏了名字的內(nèi)部類(lèi),可以寫(xiě)在成員位置,也可以寫(xiě)在局部位置。
匿名內(nèi)部類(lèi)的格式new 類(lèi)名或者接口名(){
重寫(xiě)方法;
}
格式的細(xì)節(jié)包含了繼承或?qū)崿F(xiàn),方法重寫(xiě),創(chuàng)建對(duì)象。
整體就是一個(gè)類(lèi)的子類(lèi)對(duì)象,或者接口的實(shí)現(xiàn)類(lèi)對(duì)象。
使用場(chǎng)景當(dāng)方法的參數(shù)是接口或者類(lèi)時(shí),
以接口為例,可以傳遞這個(gè)接口的實(shí)現(xiàn)類(lèi)對(duì)象。
如果實(shí)現(xiàn)類(lèi)只要使用一次,我們可以用匿名內(nèi)部類(lèi)優(yōu)化代碼。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧