Java?超詳細(xì)講解類的定義方式和對(duì)象的實(shí)例化
1.面對(duì)對(duì)象的初步認(rèn)識(shí)
1.1什么是面向?qū)ο?/h3>
用面向?qū)ο蟮乃枷雭?lái)涉及程序,更符合人們對(duì)事物的認(rèn)知,對(duì)于大型程序的設(shè)計(jì)、擴(kuò)展以及維護(hù)都非常友好。
1.2面向?qū)ο笈c面向過(guò)程
舉一個(gè)買手機(jī)的例子
以面向?qū)ο蟮姆绞絹?lái)處理買手機(jī)這件事的話,我們就不需要關(guān)注買手機(jī)的過(guò)程,具體手機(jī)怎么買,如何到手,用戶不用去關(guān)心,只需要告訴小秘書,然后拿手機(jī)即可,這些過(guò)程是通過(guò)對(duì)象之間的交互來(lái)完成的。
??:面向過(guò)程和面向?qū)ο蟛⒉皇且婚T語(yǔ)言,而是解決問(wèn)題的方法,沒(méi)有好壞之分
2.類的定義與使用
面向?qū)ο蟪绦蛟O(shè)計(jì)關(guān)注的是對(duì)象
2.1簡(jiǎn)單認(rèn)識(shí)類
**類是用來(lái)對(duì)一個(gè)實(shí)體(對(duì)象)來(lái)進(jìn)行描述的,**主要描述該實(shí)體(對(duì)象)具體由哪些屬性(外觀,作用),哪些功能(用來(lái)干啥),描述完成之后計(jì)算機(jī)就可以識(shí)別了。比如,我喜歡的女生類型是:性別為女,身高大于0,會(huì)吃飯。這就是一種類型,那么上帝視角下的我就可以通過(guò)這個(gè)類來(lái)實(shí)例化出一個(gè)具體的對(duì)象,它在堆上?,F(xiàn)實(shí)生活中就是我根據(jù)這個(gè)類去找對(duì)象,創(chuàng)造對(duì)象。 那么在Java語(yǔ)言中,如何對(duì)上述的洗衣機(jī)類來(lái)進(jìn)行定義呢?
2.2 類的定義格式
在Java中定義類時(shí)需要用到class關(guān)鍵字
//創(chuàng)建類 class ClassName{ field;//字段(屬性)或者成員變量 method;//行為或者成員方法 }
class為定義類的關(guān)鍵字,ClassName為類的名字,{}中的東西為類的主體
類中包含的內(nèi)容成為類的成員。 類中包含的內(nèi)容成為類的成員。屬性主要是用來(lái)描述類的,稱之為類的成員屬性或者類成員變量。方法主要說(shuō)明類具有哪些功能,成為類的成員方法
class MyGirlFriend{ public String name; public String sex;//性別 public int age; public int height; public String favouriteFood; public int hairLength; public void study(){ System.out.println(this.name+"正在學(xué)習(xí)"); } }
采用Java語(yǔ)言將洗衣機(jī)類在計(jì)算機(jī)定義中完成,經(jīng)過(guò)javac編譯后形成.class,在JVM的基礎(chǔ)上計(jì)算機(jī)就可以識(shí)別了。
??注意事項(xiàng):
- 類名注意要采用大駝峰定義
- 成員前寫法統(tǒng)一為public,后面會(huì)詳細(xì)解釋為什么這么做
- **此處寫的方法不帶static關(guān)鍵字.**后面會(huì)詳細(xì)解釋
??注意事項(xiàng):
- 一般一個(gè)文件當(dāng)中只定義一個(gè)類
- main方法所在的類一般要使用public修飾(注意:Eclipse默認(rèn)會(huì)在public修飾的類中找main方法)
- public修飾的類必須要和文件名相同
- 不要輕易修改public修飾的類的名稱。
3.類的實(shí)例化
3.1什么是實(shí)例化?
定義了一個(gè)類,就相當(dāng)于在計(jì)算機(jī)中定義了一種新的類型,與int double 類似,但int 和 double 是Java自帶的內(nèi)置類型,而類是用戶自定義了一個(gè)新的類型,比如MyGirlFriend,是一個(gè)類(一種新定義的類型)有了這些自定義的類型之后,就可以使用這些類來(lái)定義實(shí)例(或者稱為對(duì)象)。
這里我們實(shí)現(xiàn)一個(gè)日期類
/** * @Author 12629 * @Date 2022/3/25 19:43 * @Description: 實(shí)現(xiàn)一個(gè)日期類 */ public class MyDate { public int year; public int month; public int day; /** * 設(shè)置日期: */ public void setDate(int year,int month,int day) { this.year = year; this.month = month ; this.day = day; } public void printDate() { System.out.println("年:"+this.year+"月:"+this.month+"日:"+this.day); } public static void main(String[] args) { // this.printDate(); MyDate myDate = new MyDate(); myDate.setDate(2022,3,25); myDate.printDate(); MyDate myDate2 = new MyDate(); myDate2.setDate(2022,3,28); myDate2.printDate(); } }
??注意事項(xiàng):
- new關(guān)鍵字用于創(chuàng)建一個(gè)對(duì)象的實(shí)例
- 使用.來(lái)訪問(wèn)對(duì)象中的屬性和方法
- 同一個(gè)類可以創(chuàng)建多個(gè)實(shí)例
3.2重點(diǎn)筆記
- 類只是一個(gè)模型一樣的東西,用來(lái)對(duì)一個(gè)實(shí)體進(jìn)行描述,限定了類有哪些成員。
- 類是一種自定義的類型
- 一個(gè)類可以實(shí)例化出多個(gè)對(duì)象,實(shí)例化出的對(duì)象 占用了實(shí)際的物理空間,存儲(chǔ)類成員變量
- 例子:類實(shí)例化出對(duì)象就像現(xiàn)實(shí)中使用建筑設(shè)計(jì)圖建造出房子,類就像是設(shè)計(jì)圖
- 當(dāng)成員變量沒(méi)有賦初值的時(shí)候,每個(gè)成員變量都是他所對(duì)應(yīng)的0值,引用類型對(duì)應(yīng)null,bollean對(duì)應(yīng)false,char對(duì)應(yīng)’\u0000’即為空格
總結(jié)
希望能幫到大家 感謝閱讀~
到此這篇關(guān)于Java 超詳細(xì)講解類的定義方式和對(duì)象的實(shí)例化的文章就介紹到這了,更多相關(guān)Java 類的定義內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
你知道怎么用Spring的三級(jí)緩存解決循環(huán)依賴嗎
這篇文章主要為大家詳細(xì)介紹了Spring的三級(jí)緩存解決循環(huán)依賴,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02Java將List轉(zhuǎn)換為String的幾種方式
我們大家在實(shí)際開發(fā)中經(jīng)常遇到List轉(zhuǎn)為String字符串的情況,下面這篇文章主要給大家介紹了關(guān)于Java將List轉(zhuǎn)換為String的幾種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答(簡(jiǎn)單demo)
這篇文章主要介紹了SpringBoot整合RabbitMQ 手動(dòng)應(yīng)答 簡(jiǎn)單demo,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Java AbstractMethodError案例分析詳解
這篇文章主要介紹了Java AbstractMethodError案例分析詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Java實(shí)現(xiàn)自定義自旋鎖代碼實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)自定義自旋鎖代碼實(shí)例,Java自旋鎖是一種線程同步機(jī)制,它允許線程在獲取鎖時(shí)不立即阻塞,而是通過(guò)循環(huán)不斷嘗試獲取鎖,直到成功獲取為止,自旋鎖適用于鎖競(jìng)爭(zhēng)激烈但持有鎖的時(shí)間很短的情況,需要的朋友可以參考下2023-10-10