詳解Java基礎(chǔ)篇--面向?qū)ο?(構(gòu)造方法,static、this關(guān)鍵字)
面向?qū)ο?,面向過程的區(qū)別。拿下五子棋來說:
面向過程分析:
- 開始游戲
- 黑棋先走
- 繪制畫面
- 判斷輸贏
- 輪到白棋
- 繪制畫面
- 判斷輸贏
- 返回步驟2
- 輸出結(jié)果
面向?qū)ο蠓治觯?/strong>
- 黑白雙方,雙方行為是一模一樣的
- 棋盤系統(tǒng),負(fù)責(zé)繪制畫面
- 規(guī)則系統(tǒng),判斷犯規(guī)、輸贏
傳統(tǒng)的面向過程編程是思考問題的解決步驟,這種思維方式適用于問題規(guī)模較小時(shí)??墒钱?dāng)問題規(guī)模大,要求程序有更好的可擴(kuò)展性,能更快速地查錯(cuò)時(shí)面向?qū)ο笤O(shè)計(jì)思想就能體現(xiàn)出其優(yōu)勢(shì)。面向?qū)ο蟾咏祟惖刈匀凰季S方式,將現(xiàn)實(shí)世界中的事物抽象為對(duì)象和對(duì)象的方法。
面向?qū)ο蟮拈_發(fā)過程其實(shí)就是不斷創(chuàng)建對(duì)象、使用對(duì)象、指揮對(duì)象做事情的過程。
類與對(duì)象關(guān)系。
對(duì)象表示一個(gè)可以明確標(biāo)識(shí)的實(shí)體。例如:一個(gè)人、一本書、一個(gè)學(xué)?;蛞慌_(tái)電腦等等。每個(gè)對(duì)象都有自己獨(dú)特的標(biāo)識(shí)、狀態(tài)和行為。
對(duì)象的狀態(tài)(特征或?qū)傩?,即?shí)例變量),由該對(duì)象的數(shù)據(jù)域來表示。 例如:一個(gè)人可以具有名字、年齡、身高、體重、家庭地址等等屬性,這些就是“人這個(gè)對(duì)象的數(shù)據(jù)域”。
對(duì)象的行為(對(duì)象執(zhí)行的動(dòng)作,即功能),由方法來定義。例如:定義getName()來獲取姓名, getHeight()獲取身高,setAddress(String addr)修改地址。
構(gòu)造方法
構(gòu)造方法是在創(chuàng)建對(duì)象時(shí)就會(huì)被調(diào)用。每個(gè)類都有構(gòu)造方法,如果沒有顯示地為類定義構(gòu)造方法,則編譯器會(huì)為類自動(dòng)創(chuàng)建一個(gè)默認(rèn)無參構(gòu)造方法。構(gòu)造方法必須和類名完全一致,而且沒有返回類型。
舉個(gè)例子:
public class Person{
public String name;
public int age;
public Person(){//無參構(gòu)造方法。
}
public Person(String n,int a){//有參構(gòu)造方法
name=n;
age=a;
}
}
public class PersonTest{
public static void main(String[] args){
Penson p = new Penson("張三",19); //有參數(shù)調(diào)用對(duì)應(yīng)有參構(gòu)造方法。
System.out.println("姓名:"+p.name+" 年齡:"+p.age);
}
}
運(yùn)行結(jié)果:
姓名:張三 年齡:19
static關(guān)鍵字
用于修飾類的成員,用static修飾過的變量、方法分別稱為類成員變量,類成員方法。類成員變量、類成員方法屬于類本身,不需要?jiǎng)?chuàng)建對(duì)象就可以直接訪問。
訪問方式:
類名.成員變量/成員方法
總結(jié):
- 隨著類加載而加載
- 優(yōu)先于對(duì)象存在,意味著在對(duì)象創(chuàng)建之前就可以調(diào)用,因此java程序的主方法必須用static修飾
注意:
- 靜態(tài)方法只能訪問靜態(tài)成員
- 靜態(tài)方法中不能使用this、super關(guān)鍵字
- 方法體內(nèi)的局部變量不能使用static修飾
this關(guān)鍵字
Java中this關(guān)鍵字用于引用對(duì)象的成員變量和方法,可以方便地在類地內(nèi)部對(duì)對(duì)象地成員變量和方法進(jìn)行操作。
public class Person{
private String name;
private int age;
public void SetName(String name){
this.name=name; //將參數(shù)傳給當(dāng)前對(duì)象的name。
}
}
this()
this()表示當(dāng)前類的構(gòu)造方法,只能在構(gòu)造方法中使用該寫法,并且是寫在構(gòu)造方法內(nèi)的第一行。
以上所述是小編給大家介紹的Java基礎(chǔ)篇--面向?qū)ο?(構(gòu)造方法,static、this關(guān)鍵字)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringCloud Stream消息驅(qū)動(dòng)實(shí)例詳解
這篇文章主要介紹了SpringCloud Stream消息驅(qū)動(dòng)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
javaSE,javaEE,javaME的區(qū)別小結(jié)
本篇文章小編就為大家簡(jiǎn)單說說JavaSE、JavaEE、JavaME三者之間的區(qū)別,需要的朋友可以過來參考下,感興趣的小伙伴們可以參考一下2023-08-08
sharding-jdbc5.0.0實(shí)現(xiàn)分表實(shí)踐
本文主要介紹了sharding-jdbc5.0.0分表實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java設(shè)計(jì)模塊系列之書店管理系統(tǒng)單機(jī)版(三)
這篇文章主要為大家詳細(xì)介紹了Java單機(jī)版的書店管理系統(tǒng)設(shè)計(jì)模塊和思想第三章,感興趣的小伙伴們可以參考一下2016-08-08
詳細(xì)解讀AbstractStringBuilder類源碼
這篇文章主要介紹了詳細(xì)解讀AbstractStringBuilder類源碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12
java的main方法中調(diào)用spring的service方式
這篇文章主要介紹了在java的main方法中調(diào)用spring的service方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

