這些是筆者學(xué)習(xí)Java基礎(chǔ)時(shí)的筆記拳恋,供后來(lái)者參考(學(xué)習(xí)是持之以恒的的事情,一定要堅(jiān)持喲砸捏,切記谬运!切記O读蕖!0鹋)
一、面向?qū)ο?/p>
1.概念:
面向?qū)ο笫窍鄬?duì)于面向過程而言的一種編程思想,它強(qiáng)調(diào)的是將功能封裝進(jìn)對(duì)象绩蜻,強(qiáng)調(diào)的是具備了功能的對(duì)象礁苗。面向?qū)ο笫腔诿嫦蜻^程的。
2.面向?qū)ο蟮奶卣鳎? 封裝级解、繼承和多態(tài)冒黑。面向?qū)ο蟮木幊叹褪钦覍?duì)象、建立對(duì)象和使用對(duì)象勤哗,并維護(hù)對(duì)象關(guān)系的過程抡爹。
3.類與對(duì)象的關(guān)系
類是對(duì)象的抽象,對(duì)象是類的具體實(shí)現(xiàn)俺陋。
使用面向?qū)ο蟮姆椒ň幊虝r(shí)豁延,首先要明確被描述對(duì)象的屬性和行為,對(duì)象的屬性對(duì)應(yīng)類中的方法腊状,對(duì)象的行為對(duì)應(yīng)類中的方法诱咏。
4.成員變量和局部變量
<1>.概念:
成員變量:定義在類中,函數(shù)體外的變量缴挖。
局部變量:定義在函數(shù)體內(nèi)的變量袋狞。
<2>.成員變量和局部變量的區(qū)別:
1.作用范圍
成員變量作用于整個(gè)類中。
局部變量作用于函數(shù)中映屋,或語(yǔ)句中苟鸯。
2.在內(nèi)存中的位置不同
成員變量:在堆內(nèi)存中,因?yàn)閷?duì)象存在棚点,才在內(nèi)存中存在早处。
局部變量:存在棧內(nèi)存中。
5.匿名對(duì)象:
<1>.概念:匿名對(duì)象是對(duì)象的簡(jiǎn)化形式瘫析。
<2>.匿名對(duì)象的兩種使用情況:
當(dāng)對(duì)對(duì)象的方法只調(diào)用一次時(shí)砌梆,可以用匿名對(duì)象來(lái)完成,這樣書寫起來(lái)很簡(jiǎn)單贬循。
可以將匿名對(duì)象作為實(shí)際參數(shù)進(jìn)行傳遞咸包。
二、封裝
1.概念:是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié)杖虾,僅對(duì)外提公共訪問方式烂瘫。
2.好處:將內(nèi)部變化隔離、提高了重用性奇适、提高安全性坟比、便于使用芦鳍。
3.封裝原裝
<1>.將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái)。
<2>.把屬性都隱藏温算,提供公共方法對(duì)其訪問怜校。
4.封裝的實(shí)例:
class person
{
private int age;
public void setAge(int age)
{
if(age>0 && age <130)
this.age = age;
else
System.out,println(“age is not rigth!”);
}
public int getAge()
{
return age;
}
}
特點(diǎn):
防止外部直接訪問類中成員變量,通過定義訪問規(guī)則注竿,提高代碼的健壯性茄茁。
一般使用set、get方法設(shè)置成員變量的訪問規(guī)則巩割。
三裙顽、構(gòu)造函數(shù)
1.特點(diǎn):
函數(shù)名與類型一致。
不用定義返回值類型宣谈。
當(dāng)一個(gè)類中沒有定義構(gòu)造函數(shù)時(shí)愈犹,系統(tǒng)會(huì)默認(rèn)給該類加入一個(gè)空的構(gòu)造函數(shù)。當(dāng)自己定義構(gòu)造函數(shù)之后闻丑,系統(tǒng)就不在會(huì)添加構(gòu)造函數(shù)漩怎。
2.構(gòu)造函數(shù)的作用:給對(duì)象進(jìn)行初始化。
3.構(gòu)造函數(shù)與一般函數(shù)的不同
<1>寫法上不同嗦嗡。
<2>構(gòu)造函數(shù)在對(duì)象一建立就運(yùn)行勋锤,給對(duì)象初始化,一般函數(shù)在調(diào)用后才執(zhí)行侥祭。
<3>構(gòu)造函數(shù)在對(duì)象建立時(shí)用執(zhí)行一次叁执,一般函數(shù)可多次調(diào)用。
4.什么時(shí)候定義構(gòu)造函數(shù)矮冬?
當(dāng)分析事物時(shí)谈宛,該事物存在具備一些特性或行為,那么將這些內(nèi)容定義在構(gòu)造函數(shù)中胎署。
5.構(gòu)造代碼塊:
<1>作用:給所用對(duì)象進(jìn)行初始化吆录。對(duì)象一建立就運(yùn)行,優(yōu)先于構(gòu)造函數(shù)執(zhí)行琼牧。
<2>和構(gòu)造函數(shù)的區(qū)別:
構(gòu)造代碼塊是給所用對(duì)象進(jìn)行初始化径筏。而構(gòu)造函數(shù)是給對(duì)應(yīng)對(duì)象初始化。
<3>表現(xiàn)形式:
{
構(gòu)造代碼塊中要運(yùn)行的語(yǔ)句障陶。
}
四、this關(guān)鍵字
1.this用于區(qū)分局部變量和成員變量同名的情況聊训。
2.this的原理:this代表本類的對(duì)象抱究,指向的是正在調(diào)用該函數(shù)的對(duì)象。
3.this的應(yīng)用:
當(dāng)定義類中功能時(shí)带斑,該函數(shù)的內(nèi)部要調(diào)用該函數(shù)的對(duì)象時(shí)鼓寺,這時(shí)用this來(lái)表示這個(gè)對(duì)象勋拟。但凡本類功能內(nèi)部使用了本類對(duì)象,都可用this表示妈候。
this還可用于構(gòu)造函數(shù)的相互調(diào)用,此時(shí)要注意將this調(diào)用構(gòu)造函數(shù)要寫在第一行敢靡。
例子:
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this(name);
this.name = name;
}
注意:this語(yǔ)句一定要放在構(gòu)造函數(shù)的第一行。因?yàn)槌跏蓟葓?zhí)行苦银。