站長資訊網
        最全最豐富的資訊網站

        重點詳解Java類和對象

        重點詳解Java類和對象

        類和對象

          • 類和對象的關系。
          • 類的介紹
            • 類變量(靜態變量)
          • public && private
          • 一些建議和小結
          • 寫在最后的話

        類和對象的關系。

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

        相關免費學習推薦:java基礎教程

        類的介紹

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

        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;     //....人的屬性}

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

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

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

        類型 對應的0值
        整型 0
        浮點型 0.0
        字符類型r /u0000
        引用類型 null

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

        類變量(靜態變量)

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

        public && private

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

        一些建議和小結

        1.建議實現類的時候將成員變量盡量設置為private屬性,防止數據被直接篡改,而方法非必要公開的接口也設置為private屬性的,具體根據實際情況來定

        2.變量名和方法名使用小駝峰命名規則,盡量做到見名知意,做不到應該給上適當的中文注釋,幫助其他人理解代碼的意思

        3.static修飾的代碼和代碼塊優先于任何代碼執行

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

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

        重點詳解Java類和對象

        寫在最后的話

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品动漫人成3d在线| 精品无码一区在线观看| 亚洲中文精品久久久久久不卡| 国产精品视频网| 午夜DY888国产精品影院| 久久久精品久久久久久| 四虎精品免费永久在线| 国产精品一区二区久久不卡| 在线亚洲精品福利网址导航| 狠狠色伊人久久精品综合网 | 国产成人精品免费大全| xxx国产精品视频| 久久精品国产网红主播| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲国产精品18久久久久久| 久久精品国产一区二区三区不卡 | 久久精品国产99久久久香蕉| 国产乱人伦精品一区二区在线观看 | 久久久一本精品99久久精品66 | 精品国产欧美一区二区三区成人| 午夜精品美女自拍福到在线| 精品国产品香蕉在线观看75| 精品国产欧美一区二区| 久久97精品久久久久久久不卡| 成人伊人精品色XXXX视频| 国产精品内射后入合集| 国产成人精品无码播放| 无码精品视频一区二区三区| 亚洲乱码精品久久久久..| 中文字幕精品亚洲无线码二区| 亚洲精品国精品久久99热| 尤物yw午夜国产精品视频| 亚洲国产精品无码AAA片| 欧美日韩人妻精品一区二区在线| 中文无码精品一区二区三区| 久久九九久精品国产| 久久久久国产精品嫩草影院| 亚洲AV蜜桃永久无码精品| 亚洲欧洲美洲无码精品VA| 久久久无码精品亚洲日韩按摩| 国产欧美精品AAAAAA片|