久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      重點(diǎn)詳解Java類和對(duì)象

      重點(diǎn)詳解Java類和對(duì)象

      類和對(duì)象

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

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

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

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

      類的介紹

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

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

      如下就是定義一個(gè)類

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

      然后拿這個(gè)類創(chuàng)建一個(gè)對(duì)象,然后我們可以通過(guò)點(diǎn)號(hào) . 來(lái)訪問(wèn)這個(gè)對(duì)象的成員,看下圖

      Person person = new Person();//實(shí)例化一個(gè)對(duì)象

      重點(diǎn)詳解Java類和對(duì)象
      可以看到在沒(méi)有賦值之前是會(huì)默認(rèn)賦值為類型相對(duì)應(yīng)的0值。

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

      注:這里之所以有默認(rèn)的0值,是因?yàn)樗麄兌际浅蓡T變量,不屬于局部變量,所以有默認(rèn)值,局部變量需要自己賦值才能使用。

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

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

      public && private

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

      一些建議和小結(jié)

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

      2.變量名和方法名使用小駝峰命名規(guī)則,盡量做到見(jiàn)名知意,做不到應(yīng)該給上適當(dāng)?shù)闹形淖⑨?,幫助其他人理解代碼的意思

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

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

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

      重點(diǎn)詳解Java類和對(duì)象

      寫在最后的話

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)