1.構(gòu)造方法:
10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有介休免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。如果類中不寫構(gòu)造方法,編譯器會默認添加構(gòu)造方法,內(nèi)部只有一句super();
Class A {
public A(){
super()
}
}
2. this是實例內(nèi)部的一個特殊引用,保存當前實例的內(nèi)存地址
方便構(gòu)造方法之間的相互調(diào)用,通常在參數(shù)少的構(gòu)造方法中調(diào)用參數(shù)多的構(gòu)造方法
this() 必須是構(gòu)造方法中的首行代碼
public A() {
this(0);
…
}
3. 方法重載 Overload。同名不同參。簡化對外接口。
public String getPrice(id);
public string getPrice(name)
4. 訪問控制符
本類 | 包 | 子類 | 其他類 | |
public | 0 | 0 | 0 | 0 |
protected | 0 | 0 | 0 | |
[default] | 0 | 0 | ||
private | 0 |
使用原則:盡量使用private
Public是與其他開發(fā)者的一個契約,公共的成員會保持穩(wěn)定不變。
5. 繼承
目的:代碼重用,只允許繼承一個父類
繼承:有訪問權(quán)限的成員
不繼承:不可見的成員、構(gòu)造方法、靜態(tài)成員
創(chuàng)建子類實例執(zhí)行順序
1、先創(chuàng)建父類實例
2、再創(chuàng)建子類實例
3、兩個子類實例綁定在一起作為子類實例
構(gòu)造方法執(zhí)行順序
1、先執(zhí)行父類構(gòu)造方法
2、再執(zhí)行子類構(gòu)造方法
3、默認會執(zhí)行父類的無參構(gòu)造方法super()
如果父類不存在無參構(gòu)造方法,子類中必須手動調(diào)用父類有參構(gòu)造方法。
6. Super:
1、子類中調(diào)用父類的構(gòu)造方法:Super()
2、但必須是構(gòu)造方法的首行代碼
3、重寫方法時,可以調(diào)用父類中的同一個方法。
4、Super.funcName();
7. 重寫Override
用途:從父類繼承的方法,不滿足子類需要時,在子類中重新編寫這個方法。
重寫的規(guī)則:
1、 方法簽名(返回類型、方法名、參數(shù)列表)必須一致
2、 訪問范圍不能變小
3、不能拋出更多的異常
8. 多態(tài):
作用:以一致的類型來處理多種子類型實例
1、向上轉(zhuǎn)型:子類實例轉(zhuǎn)為父類類型
Shape s = new Line();
2、向上轉(zhuǎn)型,子類中特有成員被因擦,只能調(diào)用父類中的通用成員。
3、向下轉(zhuǎn)型,必須強制轉(zhuǎn)型
4、被轉(zhuǎn)為父類類型的子類實例,可以還原為原始類型
Line line = (Line) s;
5、運行期類型識別
instanceOf,對子類型和父類型都會返回true。
9. 抽象類:abstract
1、作用:
1).為子類提供通用代碼
2).為子類定義通用的API
2、半成品類,不能創(chuàng)建實例
3、包含抽象方法的類,必須是抽象類
4、抽象類不一定有抽象方法(不解)
10. final:
1、可以用來修飾變量、方法、類
2、常量的定義通常同時使用final、static一起使用
3、譯期優(yōu)化或運行期優(yōu)化
final byte a = 2;
final byte b = 3;
byte c= a + b;
編譯期優(yōu)化為:byte c= 5;
4、final方法:不能被子類重寫
5、final類:沒有子類,不能被繼承
11. Static
1、靜態(tài)屬性
2、屬于類,而不屬于實例
3、調(diào)用時,通常使用類名調(diào)用
4、能不用,盡量不用
5、屬于非面向?qū)ο笳Z法(基本數(shù)據(jù)類型也是)
6、共享的數(shù)據(jù)Math.PI
7、工具類方法:Math.sqrt();
8、靜態(tài)初始化塊:
Static {
….
}
第一次使用到其所在類的時候,會自動執(zhí)行,并且只執(zhí)行這一次。
12. 接口
1、作用:結(jié)構(gòu)設(shè)計工具,用來解耦合
2、極端的抽象類
3、只能定義
1)、抽象方法
2)、常量
3)、內(nèi)部類,內(nèi)部接口
4、所有的成員都是公共的
5、可以同時繼承多個接口
6、接口之間可繼承interface A extends B,C,D
13. 內(nèi)部類
* 定義在類內(nèi)部或局部代碼塊中的類
* 非靜態(tài)內(nèi)部類
*) 屬于實例,要用外部類實例來創(chuàng)建
*) 不能定義靜態(tài)成員
class A {
class Inner {
}
}
A a = new A();
A.Inner b = a.new Inner();
A.Inner b = new A().new Inner();
* 靜態(tài)內(nèi)部類
class A {
static class Inner {
}
}
A.Inner a = new A.Inner();
* 局部內(nèi)部類
*) 局部內(nèi)部類,使用外面的局部變量必須加 final
class A {
void a(final int i) {
final int j=10;
class Inner {
void a() {
i+j
}
}
Inner a = new Inner();
}
}
* 匿名內(nèi)部類
Super s = new Super(){};
* 為什么使用內(nèi)部類
*) 基于個人設(shè)計理念
*) 兩個類型關(guān)系緊密
*) 完全隱藏類型
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。