關(guān)于java面向?qū)ο蟮娜筇匦越榻B-創(chuàng)新互聯(lián)

今天小編給大家分享的是關(guān)于java面向?qū)ο蟮娜筇匦越榻B,相信很多人都不太了解,為了讓大家更加了解java面向?qū)ο蟮娜筇匦?,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

濟(jì)寧網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

Java面向?qū)ο蟮娜筇匦裕?/p>

封裝、繼承、多態(tài)。

一、封裝

將類的信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對(duì)隱藏信息的操作與訪問。

封裝的實(shí)現(xiàn)步驟:

修改屬性的可見性:設(shè)為private

創(chuàng)建getter/setter方法:用于屬性的讀寫

在getter/setter方法中加入屬性控制語句:對(duì)屬性值的合法性進(jìn)行判斷

修改屬性的可見性用private,例如:

//表示讀取該方法中的screen
public float getScreen{
	return screen;
    }
 //有viod無返回值,變量名.屬性=值,就不能直接調(diào)用可以通過變量名.getScreen()來實(shí)現(xiàn)
public viod setScreen(float newScreen){
	screen = newscreen;
	}

變量名.屬性=值 就不能直接調(diào)用可以通過變量名.getScreen()來實(shí)現(xiàn)。

關(guān)于java面向?qū)ο蟮娜筇匦越榻B

包的作用:

1、管理Java文件

2、解決同名文件沖突

定義包:package

包名注:必須放在Java源程序的第一行包名間可以使用"."號(hào)隔開例如:com.imooc.MyClassJava中,包的命名規(guī)范是全小寫字母拼寫。

Java中的訪問控制修飾符

public,default,protected,private

public:公有,所有類都可以訪問

default:默認(rèn)修飾符,同包內(nèi)訪問

protected:保護(hù)型。同包內(nèi)以及繼承了此類的外包類可以訪問

private:私有類,只有本類內(nèi)可以訪問

final,finally,finalize(繼承中)

final: 修飾符。被此修飾符修飾的類不能被繼承;被此修飾符修飾的變量不能被修改,只能讀?。槐淮诵揎椃揎椀姆椒ㄖ荒苁褂?,可以被重載,不能被重寫;此修飾符不能修飾抽象類。

finally: 捕獲異常后的清除操作

finalize:一個(gè)方法;主要是在GC將對(duì)象刪除之前,先對(duì)對(duì)象調(diào)用一下finalize方法,來確定對(duì)象是否被引用

Java中的this關(guān)鍵字

//原來手動(dòng)輸入
public void setScreen( float newScreen){
   screen = newScreen;
   }
// 用eclips 自動(dòng)生成的是
public void setScreen( float newScreen){
  this.screen = screen;
  }

this.屬性: 操作當(dāng)前對(duì)象的屬性

this.方法: 調(diào)用當(dāng)前對(duì)象的方法

ecilipse中可以直接生成setter,getter方法并加入this關(guān)鍵字。

this關(guān)鍵字調(diào)用的是成員變量或成員方法靜態(tài)成員、靜態(tài)方法中不能用this和super關(guān)鍵字同時(shí)還可以返回類的引用和調(diào)用構(gòu)造方法

Java 中的靜態(tài)內(nèi)部類

靜態(tài)內(nèi)部類是 static 修飾的內(nèi)部類,這種內(nèi)部類的特點(diǎn)是:

1、靜態(tài)內(nèi)部類不能直接訪問外部類的非靜態(tài)成員,但可以通過 new 外部類().成員 的方式訪問。

2、如果外部類的靜態(tài)成員與內(nèi)部類的成員名稱相同,可通過“類名.靜態(tài)成員”訪問外部類的靜態(tài)成員;如果外部類的靜態(tài)成員與內(nèi)部類的成員名稱不相同,則可通過“成員名”直接調(diào)用外部類的靜態(tài)成員。

3、創(chuàng)建靜態(tài)內(nèi)部類的對(duì)象時(shí),不需要外部類的對(duì)象,可以直接創(chuàng)建 內(nèi)部類 對(duì)象名= new 內(nèi)部類();。

關(guān)于java面向?qū)ο蟮娜筇匦越榻B

二、繼承

繼承的概念:是類與類的一種關(guān)系。

繼承的好處:

1)子類擁有父類的所有屬性和方法(private修飾的無效)

2)實(shí)現(xiàn)代碼復(fù)現(xiàn)

語法規(guī)則:class 子類 extends 父類{ }

方法的重寫:

子類對(duì)父類的繼承不滿意,重寫自己的內(nèi)容且重寫后優(yōu)先調(diào)用子類方法

語法規(guī)則:

返回值,類型,方法名參數(shù)類型個(gè)數(shù)都要與父類集成方法相同,才叫重寫

繼承初始化順序:

父類屬性初始化>父類構(gòu)造方法>子類屬性初始化>子類構(gòu)造方法 0

super關(guān)鍵字:

在對(duì)象的內(nèi)部使用,可以代表父類對(duì)象。

訪問父類的屬性:super.age;

訪問父類的方法:super.eat();

super的應(yīng)用:

子類的構(gòu)造方法過程中,必須調(diào)用父類的構(gòu)造方法。

如果子類的構(gòu)造方法中沒有顯示調(diào)用父類的構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類的無參構(gòu)造方法。

如果顯示的調(diào)用構(gòu)造方法,必須在子類的構(gòu)造方法的第一行。

如果子類構(gòu)造方法中沒有顯示調(diào)用父類的構(gòu)造方法,父類也沒有無參的構(gòu)造方法,編譯就會(huì)出錯(cuò)。

Object類:

沒有標(biāo)識(shí)繼承了誰的類相當(dāng)于繼承了Object類

toString()方法:

在Object類里定義toString()方法的時(shí)候返回的對(duì)象的哈希code碼(對(duì)象地址字符串)

可以通過重寫toString()方法表示出對(duì)象的屬性

equals()方法:

比較的是對(duì)象的引用是否指向同一塊內(nèi)存地址。注意:比較兩個(gè)對(duì)象equals()方法是不適用的,創(chuàng)建新的對(duì)象, 內(nèi)存會(huì)創(chuàng)建新的儲(chǔ)存地址,所以即使對(duì)象屬性都一致, 也是不相等,要比較對(duì)象具體屬性值相同,就需要重寫equals()方法

比較getClass()返回類對(duì)象 :

getClass()返回的是類對(duì)象:描述類的代碼信息,類的屬性有哪些、類型是什么、變量名是什么、方法名是什么,更關(guān)注的是類的代碼信息。

創(chuàng)建對(duì)象名返回的是類的對(duì)象:

關(guān)注的是對(duì)象的屬性值得信息,或者說是這個(gè)對(duì)象數(shù)據(jù)的信息

三、多態(tài)

多態(tài): 指的是對(duì)象的多種形態(tài),主要分為 引用多態(tài) 、方法多態(tài)。

繼承是多態(tài)的實(shí)現(xiàn)基礎(chǔ),別忘了子父類要有繼承關(guān)系.

多態(tài)特性:

1、引用多態(tài)

父類引用可以指向本類對(duì)象 Animal obj1 = new Animal();

父類引用可以指向子類對(duì)象 Animal obj2 = new Dog();

但是我們不能用子類的引用指向父類對(duì)象 Dog obj3 = new Animal();//錯(cuò)

2、方法多態(tài)

類Animal中定義一個(gè)eat()方法,輸出一個(gè)語句(動(dòng)物有吃的能力); 在子類Dog中重寫eat()方法,輸出一個(gè)語句(狗是吃肉的); 那么我們?cè)跍y(cè)試類main函數(shù)里面,如果obj1.eat() ,那么調(diào)用的是父類的方法. 若用obj2調(diào)用eat()方法,那么調(diào)用的是子類的方法。

還有一種情況,比如創(chuàng)建一個(gè)繼承父類Animal的子類Cat ,但是Cat里并不重寫繼承的eat()方法. 然后,我們?cè)跍y(cè)試類main函數(shù)里創(chuàng)建一個(gè)子類對(duì)象, Animal obj3 = new Cat(); 然后調(diào)用 obj3.eat(); 那么,結(jié)果調(diào)用的則是子類繼承父類的方法. (輸出結(jié)果:動(dòng)物有吃的能力)。

最后一種特殊情況,多態(tài)的特性是不能使用的. 若在子類添加一個(gè)獨(dú)有的方法 public void watchDoor() ,含有一句輸出語句(狗具有看門的能力); 那么我們?cè)跍y(cè)試類的main函數(shù)當(dāng)中(得先定義好對(duì)象Animal obj2 = new Dog() ),就不能用obj2.watchDoor(),即不能通過父類的引用調(diào)用子類的方法。

關(guān)于關(guān)于java面向?qū)ο蟮娜筇匦越榻B就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:關(guān)于java面向?qū)ο蟮娜筇匦越榻B-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article4/deepie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、服務(wù)器托管、響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)面包屑導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)