類class
將一類事物的特征和動作,封裝為屬性和方法(封裝相關(guān)數(shù)據(jù),方法代碼);
封裝
實例,一個具體的個體(new創(chuàng)建)
可以保存獨立的數(shù)據(jù),獨立控制執(zhí)行指定方法;
引用
保存一個實例的地址
引用特殊值null
局部代碼塊:
在方法中提供一個{}.
局部代碼塊可以提高棧內(nèi)存的效率,可以提前釋放局部的變量內(nèi)存。
構(gòu)造方法
構(gòu)造代碼塊:會在每一次創(chuàng)建對象時調(diào)用,構(gòu)造代碼塊是先與構(gòu)造方法執(zhí)行的
使用方式:直接在類中提供一個{}
新建實例時執(zhí)行,子類調(diào)用父類的無參構(gòu)造方法
class定義類必須要有構(gòu)造方法
不定義,默認為無參
構(gòu)造方法作用:任意
常用方法:賦值
this
1.this.屬性名---本類里的成員變量,當變量名重復時使用
2.this.方法名------本類的方法名
3.This(……)----本類里的構(gòu)造方法,減少代碼重復
This()只能用在構(gòu)造方法中的第一行
Overload 方法重載:一個方法有多種參數(shù)傳遞方式
同名不同參數(shù),
繼承:
把原有類中的公共的代碼抽取到一個新類中,原有類和新類使用extends關(guān)鍵字進行聯(lián)。新類稱之為父類,原有類稱之為子類,子類會繼承父類的所有屬性和方法。但是子類只能使用對子類可見的屬性和方法。
JAVA只支持單繼承,只能繼承一個父類,一個父類可以有多個子類
不繼承父類的部分
構(gòu)造方法
私有成員 private
子類實例
由父類實例和子類實例綁定,整體作為一個實例
調(diào)用時,先找子類,再找父類
Overried 方法重寫:在父子類中出現(xiàn)了方法簽名一致的非靜態(tài)方法,就稱之為重寫(Override),或者稱之為覆蓋
子類調(diào)用父類方法時,父類方法不滿足子類的需求,需要重寫,
必須與父類的返回值與參數(shù)一致;
兩同:方法名,參數(shù)列表相同
返回值異常兩小:
1.返回值:
如果返回值為基本數(shù)據(jù)類型,子類的返回值必須和父類相同
如果返回類型為引用數(shù)據(jù)類型,子類返回值小于等于父類;
2.異常:
子類向上拋出的異常 要小于等于父類;
一大:
訪問修飾符權(quán)限;public >protected>default>privade>
子類的訪問修飾符權(quán)限必須大于等于父類;
Super
super關(guān)鍵字可以調(diào)用父類可見的方法和屬性
super()和this()不能共存
1.super.屬性名-----父類里面的成員變量
2.super.方法名---父類的方法名
3.super()/super(參數(shù)) ----調(diào)用父類的無參構(gòu)造/可見方法
Super()只能出現(xiàn)在構(gòu)造方法體第一句
每一個類的構(gòu)造方法有默認的super();
多態(tài):事物的多種形態(tài)
//編譯看左邊,運行看右邊:
編譯時多態(tài):方法重載
運行時多態(tài):向上造型,方法重寫
一致的類型,所有子類型實例,都可以被當做一致的父類型來處理
向上轉(zhuǎn)型:
定義一個父類的變量,用以引用子類的地址空間
只能調(diào)用父類中定義的方法
向下轉(zhuǎn)型:
強制轉(zhuǎn)換,需要保證轉(zhuǎn)型的安全
Instanceof 判斷運行期的類型
對真實類型及其父類型判斷,都得到true
抽象類abstract
半成品的類,一個未完成的類
抽象方法只有方法定義,沒有方法代碼
需要用abstract關(guān)鍵詞定義
1.作為通用方法在父類中定義;
2.要求子類必須完成該方法;
3.抽象類不能實例化,未完成時半成品;具體子類可以創(chuàng)建實例;
抽象要點
被abstract修飾的類稱之為抽象類,被abstract修飾的方法稱之為抽象方法
一個類中如果有抽象方法,這個類必須為抽象類
抽象類不能實例化!!!
抽象類必須要有一個子類,子類可以實現(xiàn)抽象類中的抽象方法.如果子類實現(xiàn)類的抽象方法,那么久可以通過向上造型來使用抽象類.
final不能修飾抽象類,final修飾的類為最終類不能被繼承,抽象類必須要被繼承
抽象類可以寫構(gòu)造方法的
抽象類可以提供普通方法
抽象類中的抽象方法可以重載
抽象類中抽象方法不能使用private修飾,抽象方法必須被子類實現(xiàn)
抽象方法不能被static修飾,靜態(tài)方法可以直接使用類名調(diào)用,在抽象類中沒有意義.
受java的單繼承的影響,抽象類不能夠同時繼承多個類
接口interface
接口是功能的集合,接口是比抽象類更抽象的"類",在JDK1.8之前接口中只能放抽象方法.
接口是特殊的類
接口是結(jié)構(gòu)設(shè)計共計,用來解耦合,隔離實現(xiàn)
語法:
Interface 代替class關(guān)鍵詞
implements代替extends關(guān)鍵詞
接口中只能定義:
公開的常量
//接口中是可以的定義變量,,
Public static finalinta=5;
//變量默認修飾符publicstaticfinal,實際上是一個常量
公開的抽象方法
Public abstract void show();//接口中的方法默認修飾符public abstract
接口不能實例化,必須在implements中實現(xiàn)接口中的抽象方法
接口中的方法可以重載
公開的內(nèi)部類,內(nèi)部接口
接口中沒有構(gòu)造方法
類可以同時實現(xiàn)多個接口:
Class A extends Object implements x,y,z{}
接口之間繼承,不用實現(xiàn)關(guān)鍵詞(可以繼承多個接口),用extends
Interface A extends x,y,z{
}
一個類可以實現(xiàn)多個接口,子接口中可以有相同的方法(接口中只有方法名沒有具體的實現(xiàn)代碼)
java中接口是網(wǎng)狀
java中繼承是樹狀結(jié)構(gòu)
java放棄了對接口的編譯檢查
Javap xxx.calss可以反編譯
![](https://cache.yisu.com/upload/information/20200311/58/226982.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計制作、成都做網(wǎng)站與策劃設(shè)計,洪湖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:洪湖等地區(qū)。洪湖做網(wǎng)站價格咨詢:18982081108
標題名稱:JAVA面向?qū)ο蠊P記-創(chuàng)新互聯(lián)
鏈接分享:http://m.newbst.com/article22/jjdjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、域名注冊、定制開發(fā)、微信公眾號、網(wǎng)站收錄、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容