java面向對象——你沒有聽過的全新版本

對於學習java這門面嚮對象語言很多初學者恐怕也是和我一樣吧,畢竟我也是從小白同學走過來的。接下來讓我們談談如何面向對象?

全釋面向對象以及三大特點

1. 什麼是類?

類在生活中就是一個類別的統稱。它描述了一類對象的行爲和狀態,在每個類中都有自己的屬性和方法。簡單的來說類就是一類事物的總稱,歸類。例如人類   動物類  植物類.....

          ①java裏定義類語法

                class   類名{

                        //方法聲明;

                        //屬性聲明

 

                            }

           ②類的命名規則:

          

                不能爲 Java 中的關鍵字

                不能包含空格或點號“.”

                只能以下劃線“_”、 “$”符號或字母開頭

 

2. 什麼是對象?

對象表示現實世界中某個具體的事物。抽象是從特定的實例中抽取共同的性質以形成一般化概念的過程。簡單的來說例如:你女朋友就是你對象,那如果沒有就得創建一個女朋友對象出來。可以這麼理解

 

  ①對象具有兩方面的含義:

            在現實世界中:

        是客觀世界中的一個實體

            在計算機世界中:

        是一個可標識的存儲區域

        

  ②那接下來就是創建對象

    

            創建對象的語法

                類名  對象名=new 構造方法名();

                 new   構造方法()

             在堆中開闢了對象的空間

            調用了相應的構造方法

            返回對象的引用(地址值)

  ③操作對象

 

            對象的操作就是通過對象名來調用(操作)對象中的屬性和方法

            通過 .  操作符來完成

 

     對象名.屬性名;      (操作對象的屬性)

     對象名.方法名();   (操作對象的方法)

      

3. 封裝概念

封裝是一種信息隱藏技術,就是將對象的屬性和操作結合爲一個整體,竟可能的隱藏內容實現細節

封裝的好處:

          將變化隔離

            便於使用

            提高複用性

            提高安全性

java面嚮對象語言,他有三大特點  

                     封裝   繼承   多態

4.this與static關鍵字

this變量代表對象本身

當類中有兩個同名變量,一個屬於類(類的成員變量),而另一個屬於某個特定的方法(方法中的局部變量),使用this區分成員變量和局部變量

2018-03-12_135214.png

5. Static關鍵字

     static表示“靜態”的意思,用來修飾成員變量和成員方法,也可以形成靜態static代碼塊。被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享。

①static變量

      按照是否靜態的,對類成員變量進行分類可分兩種:一種是被static修飾的變量,叫靜態成員變量或類變量;另一種是沒有被static修飾的變量,叫實例變量。

兩者的區別是:

     靜態成員變量是存儲方法區內存中,只會存在一份數據。在加載類的過程中完成靜態變量的內存分配,可用類名直接訪問(方便),當然也可以通過對象來訪問(但是這是不推薦的)。 靜態的成員變量數據是隨着類的加載而存在,隨着類文件的消失而消失。非靜態的成員變量是存儲在堆內存中,有n個對象就有n份數據,互不影響(靈活)。非靜態的成員數據是隨着對象的創建而存在,隨着 對象被垃圾回收器回收而消失。

 

②static方法

靜態方法要注意的事項:

        1. 靜態方法是可以調用類名或者對象進行調用的,而非靜態方法只能使用對象進行調用。

        2. 靜態的方法可以直接訪問靜態的成員,但是不能直接訪問非靜態的成員。

原因:靜態方法是可以使用類名直接調用的,這時候可能還沒有存在對象,而非靜態的成員數據是隨着對象的存在而存在的。

 

        3. 非靜態的方法是可以直接訪問靜態與非靜態的成員。

        原因:非靜態方法只能由對象調用,當對象存在的時候,靜態數據老早就已經存在了,而非靜態數據也隨着對象的創建而存在了。

        4. 靜態方法不能出現this或者super關鍵字。

        原因:因爲靜態的方法是可以使用類名調用的,一旦使用類名調用這時候不存在對象,而this關鍵字是代表了一個方法 的調用者對象,這時候產生了衝突。

2018-03-12_141749.png

6.面向對象

面向對象是一個很抽象的,怎麼說呢根據我個人理解大概就是找對的人做正確的事!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章