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