站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

重點詳解Java類和對象

重點詳解Java類和對象

類和對象

    • 類和對象的關(guān)系。
    • 類的介紹
      • 類變量(靜態(tài)變量)
    • public && private
    • 一些建議和小結(jié)
    • 寫在最后的話

類和對象的關(guān)系。

類其實就是一個模板,比如說類就好比一張房子的設(shè)計圖紙,或者說是一個倒印模具,創(chuàng)建一個類就好比設(shè)計一張圖紙,刻一個模板。對象就好比一座建好的房子,一個成型的模型,無疑想要一座房子或者一個模型都先需要一張圖紙和一個模板,而這就是類和對象的關(guān)系。

相關(guān)免費學(xué)習(xí)推薦:java基礎(chǔ)教程

類的介紹

首先Java里面的類由關(guān)鍵字class定義,類中的元素稱為:成員屬性。類中的函數(shù)稱為:成員方法。

class Person {     public int age;//成員屬性 實例變量     public String name;     public String sex;     public void eat() {//成員方法        System.out.println("吃飯!");      }     public void sleep() {        System.out.println("睡覺!");      }}

如下就是定義一個類

class Person {     public String name;     public String sex;     public int age;     //....人的屬性}

然后拿這個類創(chuàng)建一個對象,然后我們可以通過點號 . 來訪問這個對象的成員,看下圖

Person person = new Person();//實例化一個對象

重點詳解Java類和對象
可以看到在沒有賦值之前是會默認賦值為類型相對應(yīng)的0值。

類型 對應(yīng)的0值
整型 0
浮點型 0.0
字符類型r /u0000
引用類型 null

注:這里之所以有默認的0值,是因為他們都是成員變量,不屬于局部變量,所以有默認值,局部變量需要自己賦值才能使用。

類變量(靜態(tài)變量)

所謂的類變量也就是靜態(tài)變量,由關(guān)鍵字static修飾,存儲在方法區(qū),在類加載的時候就會分配空間,所以類變量是脫離對象的,就是說,就算沒有實例化對象也是可以使用類變量的,看下圖,沒有對象依然可以通過 類名.變量名 使用類變量
重點詳解Java類和對象
同樣的,由static修飾的方法也是類方法也叫靜態(tài)方法,它和類變量具有相同的性質(zhì),類加載時分配空間,不依賴于實例化的對象,可以直接通過 類名.函數(shù)名() 調(diào)用。
如果不是靜態(tài)的變量和方法,那么我們就需要先通過new關(guān)鍵字實例化一個對象才可以使用。

public && private

在類的定義中有許多的訪問權(quán)限修飾符,而public和private是兩個最常使用的,顧名思義,public修飾的變量是公開的,所謂的公開就是說可以直接訪問,舉個栗子
重點詳解Java類和對象
當(dāng)我們使用public修飾成員變量時可以正常使用,通過點號訪問對象的成員,但是當(dāng)我們使用private修飾的時候,就會報錯,因為private是私有的,只能在當(dāng)前類里面使用,不能被外部引用。
重點詳解Java類和對象
如果要其他類中需要使用的話就需要提供公開的接口,給需要使用的類調(diào)用,簡單來講就是,我寫個公開的方法,你把數(shù)據(jù)通過方法傳給我,我自己來操作,比如以下方法,看名字也能知道這些方法的作用,我們來使用一下這些方法
重點詳解Java類和對象
重點詳解Java類和對象
可以看到,通過公開的接口我們可以對私有的成員變量進行一系列的操作,細心的小伙伴們可能會發(fā)現(xiàn)在setName等等方法里面都出現(xiàn)了 this.變量名那么這個是什么呢,this其實是一個關(guān)鍵字,表示當(dāng)前方法的引用,那么為什么要有這個關(guān)鍵字呢,那是因為當(dāng)變量名相同時,局部變量有限使用,可能會導(dǎo)致無法賦值等情況,看下圖,當(dāng)去掉this之后,名字明顯為初始值,這就是因為局部變量優(yōu)先使用的原因,導(dǎo)致類里面的成員變量沒有被賦值。
重點詳解Java類和對象

一些建議和小結(jié)

1.建議實現(xiàn)類的時候?qū)⒊蓡T變量盡量設(shè)置為private屬性,防止數(shù)據(jù)被直接篡改,而方法非必要公開的接口也設(shè)置為private屬性的,具體根據(jù)實際情況來定

2.變量名和方法名使用小駝峰命名規(guī)則,盡量做到見名知意,做不到應(yīng)該給上適當(dāng)?shù)闹形淖⑨專瑤椭渌死斫獯a的意思

3.static修飾的代碼和代碼塊優(yōu)先于任何代碼執(zhí)行

4.一個類可以創(chuàng)建多個對象,很好理解,一張圖紙可以建造多棟相同的房子,比如小區(qū)的樓房就是一張圖紙建造出來的

5.在實例化一個對象的時候會調(diào)用一個構(gòu)造方法,所謂的構(gòu)造方法就一個名字與類名相同的方法,可以帶參數(shù),沒有返回值類型聲明,并且如果你沒有定義的話,編譯器就會自動實現(xiàn)一個不帶參數(shù)的構(gòu)造方法,如果你定義了,那么編譯器就不會自動生成。并且構(gòu)造方法也是支持重載的,構(gòu)造方法的用處之一就是可以在創(chuàng)建對象的時候就進行賦值。
重點詳解Java類和對象
重點詳解Java類和對象
加上一句this.name ,就可以不需要setname了,只需要創(chuàng)建對象的時候,直接傳參即可,其他的博主就不在贅述了。
重點詳解Java類和對象

重點詳解Java類和對象

寫在最后的話

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
国精品午夜福利视频不卡麻豆| 日韩亚洲精品福利| 国产精品视频a播放| 久久久999国产精品| 国产69精品久久久久久人妻精品| 少妇亚洲免费精品| 2015日韩永久免费视频播放| 国产精品无码av片在线观看播| 久久国产综合精品SWAG蓝导航| 国产成人亚洲合集青青草原精品| 久久久久人妻精品一区二区三区| 亚洲国产精品第一区二区| 国产精品第12页| 国产精品亚洲一区二区三区在线| 人妻少妇精品一区二区三区| 九色精品视频在线观看| japanese乱人伦精品| 亚洲成人国产精品| 亚洲AV无码乱码精品国产 | 国产精品一区二区三区高清在线| 亚洲AV成人精品一区二区三区| 波多野结衣久久精品| 午夜国产精品免费观看| 99精品无人区乱码在线观看| 国产精品一久久香蕉国产线看 | 亚洲av日韩av永久在线观看| 日韩精品无码一区二区三区不卡| 国产福利电影一区二区三区,日韩伦理电影在线福 | 无码国产精品一区二区高潮| 国产69精品麻豆久久久久| 亚洲AV无码国产精品永久一区| 欧美精品黑人粗大视频| 国产精品av一区二区三区不卡蜜| 国产精品av一区二区三区不卡蜜| 韩国精品一区视频在线播放| 日本精品一区二区三区视频 | 91精品国产综合久久久久久| 中日欧洲精品视频在线| 中文字幕精品无码一区二区三区| av蓝导航精品导航| 国产成人亚洲精品青草天美|