這篇文章將為大家詳細(xì)講解有關(guān)什么是java的面向?qū)ο螅恼聝?nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
十年的嵐皋網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整嵐皋建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“嵐皋網(wǎng)站設(shè)計(jì)”,“嵐皋網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。1、什么叫面向?qū)ο螅?/strong>
面向?qū)ο?Object-Oriented,簡(jiǎn)稱(chēng)OO)就是一種常見(jiàn)的程序結(jié)構(gòu)設(shè)計(jì)方法。
面向?qū)ο笏枷氲幕A(chǔ)是將相關(guān)的數(shù)據(jù)和方法放在一起,組合成一種新的復(fù)合數(shù)據(jù)類(lèi)型,然后使用新創(chuàng)建的復(fù)合數(shù)據(jù)類(lèi)型作為項(xiàng)目的基礎(chǔ)。
面向?qū)ο笫且粋€(gè)很抽象的概念,它相對(duì)面向過(guò)程而言。
過(guò)程與對(duì)象都是一種解決問(wèn)題的思想。
面向過(guò)程:強(qiáng)調(diào)的是功能行為,一種過(guò)程,先干啥,再干啥;
面向?qū)ο螅簩⒐δ芊庋b到對(duì)象里,強(qiáng)調(diào)的是具備某功能的對(duì)象;
按照面向?qū)ο蟮乃枷?,可以把任何的東西看做對(duì)象!
面向?qū)ο蟮娜齻€(gè)特征:
封裝(Encapsulation);
繼承(Inheritance);
多態(tài)(Polymorphism)。
我的總結(jié):
面向過(guò)程:強(qiáng)調(diào)的是具體的功能實(shí)現(xiàn);(執(zhí)行者)
面向?qū)ο螅簭?qiáng)調(diào)的是具備功能的對(duì)象。(管理者)
2、類(lèi)
類(lèi)(class)是Java 語(yǔ)言的最小編程單位,也是設(shè)計(jì)和實(shí)現(xiàn)Java 程序的基礎(chǔ),本部分將深入介紹類(lèi)的相關(guān)知識(shí)。
類(lèi)的概念
類(lèi)是一組事物共有特征和功能的描述。類(lèi)是對(duì)于一組事物的總體描述,是按照面向?qū)ο蠹夹g(shù)進(jìn)行設(shè)計(jì)時(shí)最小的單位,也是組成項(xiàng)目的最基本的模塊。類(lèi)的概念是抽象的,類(lèi)似于建筑設(shè)計(jì)中的圖紙,是對(duì)于現(xiàn)實(shí)需要代表的具體內(nèi)容的抽象。類(lèi)只包含框架結(jié)構(gòu),而不包含具體的數(shù)據(jù)。所以類(lèi)代表的是總體,而不代表某個(gè)特定的個(gè)體。
我的總結(jié):類(lèi)是抽象的,對(duì)象是具體的,實(shí)實(shí)在在的!
類(lèi)的定義:
[修飾符] class 類(lèi)名{
1~n個(gè)構(gòu)造方法;
0~n個(gè)字段;
0~n個(gè)方法
}
定義類(lèi),其實(shí)就是定義類(lèi)里面的對(duì)象
對(duì)象包含:
狀態(tài);(屬性)
功能、行為;(方法)
通過(guò)類(lèi)來(lái)描述對(duì)象;
狀態(tài)--------成員變量;
功能、行為——方法;
Eg:
class Person{ //屬性 private String name; private int age; private int sal; //方法 public void show(){ System.out.println("個(gè)人情況:"+name+age+sal); } }
3、構(gòu)造方法
構(gòu)造方法:用來(lái)構(gòu)造類(lèi)的實(shí)例(每一個(gè)類(lèi)都默認(rèn)有一個(gè)無(wú)參的構(gòu)造方法,得使用new調(diào)用)
字段:類(lèi)或?qū)ο笏臄?shù)據(jù),對(duì)類(lèi)狀態(tài)的一種描述;
方法:類(lèi)或?qū)ο蟮奶卣骰蛐袨?/p>
作用:
給類(lèi)中的字段進(jìn)行初始化,可以用來(lái)創(chuàng)建對(duì)象。
特點(diǎn):
方法名與類(lèi)名相同
不用定義返回值類(lèi)型
不需要寫(xiě)return語(yǔ)句
注意:
默認(rèn)構(gòu)造方法的特點(diǎn)。
多個(gè)構(gòu)造方法是以重載的形式存在的。
構(gòu)造方法的重載:(需要哪個(gè)就去適配哪個(gè),調(diào)用哪個(gè))
this([實(shí)參]);調(diào)用當(dāng)前類(lèi)的構(gòu)造方法
注意: this([實(shí)參]);必須放在構(gòu)造器的第一行;
對(duì)象的產(chǎn)生格式:
類(lèi)名稱(chēng) 對(duì)象名 = new 類(lèi)名稱(chēng)();
因?yàn)橛?),所以是方法,實(shí)際上它就是構(gòu)造方法,并且是非私有的構(gòu)造方法。
如:
CellPhone cp = new CellPhone();
Eg: class Person{ private String name; private int age; private int sal; public void show(){ System.out.println("個(gè)人情況:"+name+age+sal); } public Person(String name) { super(); this.name = name; } public Person(String name, int age) { super(); this.name = name; this.age = age; } public Person(String name, int age, int sal) { super(); this.name = name; this.age = age; this.sal = sal; } }
4、static關(guān)鍵字
特點(diǎn):
隨著類(lèi)的加載而加載
優(yōu)先于對(duì)象存在
被所有對(duì)象所共享
可以直接被類(lèi)名調(diào)用
使用注意:
靜態(tài)方法只能訪(fǎng)問(wèn)靜態(tài)成員
但是非靜態(tài)成員方法可以訪(fǎng)問(wèn)靜態(tài)成員;
靜態(tài)方法中不可以使用this,super關(guān)鍵字
主方法(main)是靜態(tài)的(可以利用類(lèi)名去調(diào)用靜態(tài)的main方法,很正常!但是會(huì)陷入死循環(huán),導(dǎo)致內(nèi)存溢出,jvm自動(dòng)停止!)
public static void main(String[] agrs){}
可修飾字段,方法。
用static 修飾的成員表示它屬于這個(gè)類(lèi)共有,而不是屬于該類(lèi)的單個(gè)實(shí)例。
static 修飾的字段 == 類(lèi)字段
static 修飾的方法 == 類(lèi)方法
沒(méi)使用static修飾的字段和方法,成員屬于類(lèi)的單個(gè)實(shí)例,不屬于類(lèi)。
沒(méi)有static 修飾的字段 == 實(shí)例字段
沒(méi)有static 修飾的方法 == 實(shí)例方法
類(lèi)和實(shí)例訪(fǎng)問(wèn)字段和方法的語(yǔ)法:
訪(fǎng)問(wèn)類(lèi)成員: 類(lèi).字段 類(lèi).方法
訪(fǎng)問(wèn)實(shí)例成員: 實(shí)例.字段 實(shí)例.方法
我的總結(jié):
static 修飾的字段和方法,既可以通過(guò)類(lèi)調(diào)用,也可以使用實(shí)例調(diào)用;
沒(méi)static 修飾的字段和方法,只能使用實(shí)例來(lái)調(diào)用(建議使用:類(lèi)名來(lái)調(diào)用; 其實(shí)在底層,對(duì)象調(diào)用類(lèi)成員,也會(huì)轉(zhuǎn)換類(lèi)名調(diào)用)
static關(guān)鍵字不能與this,super同時(shí)連用!
5、匿名對(duì)象
一個(gè)沒(méi)有名字的對(duì)象, 創(chuàng)建了一個(gè)對(duì)象出來(lái),沒(méi)有賦給一個(gè)變量;
特點(diǎn):
對(duì)方法或字段只進(jìn)行一次調(diào)用時(shí);
可作為實(shí)際參數(shù)進(jìn)行傳遞;
只在堆里面開(kāi)辟存儲(chǔ)區(qū)域,
只能使用一次, 使用完就被銷(xiāo)毀了;
何時(shí)使用?只拿來(lái)用一次??!
new Person();表示匿名對(duì)象,沒(méi)有名字的對(duì)象
new Person().age = 17;//使用一次之后就被銷(xiāo)毀了
6、this關(guān)鍵字
特點(diǎn):this表示當(dāng)前對(duì)象。
當(dāng)前對(duì)象 ←→ 當(dāng)前正在調(diào)用實(shí)例成員的對(duì)象
換言之:誰(shuí)調(diào)用了方法,誰(shuí)就是當(dāng)前對(duì)象。
什么時(shí)候使用this關(guān)鍵字呢?
方法間的相互調(diào)用;
this.字段;
構(gòu)造器中相互調(diào)用,但是此時(shí)this([參數(shù)])必須寫(xiě)在構(gòu)造方法第一行。
this不能用在static修飾的方法里和static修飾的代碼塊里;
Eg:構(gòu)造方法中的this.name = name;
7、面向?qū)ο笾庋b
封裝的兩個(gè)含義:
1.把對(duì)象的狀態(tài)和行為看成一個(gè)統(tǒng)一的整體,將二者存放在一個(gè)獨(dú)立的模塊中(類(lèi));
2."信息隱藏", 把不需要讓外界知道的信息隱藏起來(lái),盡可能隱藏對(duì)象功能實(shí)現(xiàn)細(xì)節(jié),字段;
封裝機(jī)制在程序中的體現(xiàn)是:
把描述對(duì)象的狀態(tài)用字段表示,描述對(duì)象的行為用方法表示,把字段和方法定義在一個(gè)類(lèi)中,并保證外界不能任意更改其內(nèi)部的字段值,也不允許任意調(diào)動(dòng)其內(nèi)部的功能方法。
程序中的一種體現(xiàn):
通常將類(lèi)中的成員變量私有化(private),通過(guò)對(duì)外提供方法(setXxx,getXxx),可對(duì)該變量(xxx)進(jìn)行訪(fǎng)問(wèn)。
boolean 類(lèi)型的變量沒(méi)有g(shù)etXX,只有 isXX;
Eg: class Person1{ private String name; private int age; private int sal; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
8、訪(fǎng)問(wèn)修飾符
private 類(lèi)訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),不能繼承到子類(lèi);
default 什么都不寫(xiě),包訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),同包其他類(lèi)也可以訪(fǎng)問(wèn),同包可繼承;
protected 子類(lèi)訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),不同包的子類(lèi)也可以訪(fǎng)問(wèn),同包其他類(lèi)也可以訪(fǎng)問(wèn),能繼承到子類(lèi);
public 公共訪(fǎng)問(wèn)權(quán)限:任何地方都可以訪(fǎng)問(wèn),能繼承到子類(lèi);
總結(jié):
什么是java的面向?qū)ο?創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article18/dsihdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、標(biāo)簽優(yōu)化、網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)、企業(yè)建站、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容