首頁 > 網際網路

Java自習室(類與物件)

2019-12-10 08:52:12

因某種原因,公司想把以前用Java做的一個web專案,用php重寫,而這個任務又落到我頭上,本來想大體看看網上的教學,但是很多java教學都很冗餘,讓初學者看著就頭大,於是乎自己買了本書把看了一遍,順便整理出相關的文件與便於後期我在用java幹活的會後能夠快速上手,其中有總結的不到位的歡迎批評指正.


1

類的定義語法:

       [修飾符] class 類名{

                   [屬性宣告]

                   [方法宣告]

        }

物件的建立語法 :

    <物件型別> <物件名稱> = new <物件型別> ([引數列表]);


2

類中的成員變數和區域性變數:

      在java中,宣告並使用變數的時候要遵守一個規則,就是變數的只能在其作用域裡面有效.

      成員變數:在類中宣告,能在類中任何地方進行存取.

      區域性變數:在一個方法內部或者一段程式碼塊中宣告,同理也只能在對應的方法和程式碼塊中使用,超出這個區域則存取無效.

      注意點:成員變數在宣告時可以不進行賦值,但是區域性變數在宣告時候必須賦初值不然會報錯.


3

類成員方法的定義和呼叫:

      定義的語法格式:

             [修飾符]  <返回的型別>  <方法名>([引數列表]){

                     [方法體]

             }

       呼叫格式:

              物件範例.方法名([引數列表]);


4

方法的引數傳值:

      如果在定義方法的時候使用了引數,那麼在呼叫方法的時候也要進行相應的引數傳遞,按照引數的傳遞分為以下兩種:

            按值傳遞:當傳遞型別為基本型別時候如int,double,float等此方法不會改變引數的值.

            按參照傳遞:當傳遞型別為參照傳遞的時候如物件,陣列此方法會改變引數的值.



5

方法的過載:

       是當同一個類中有多個方法具有相同的名字而具有不同的引數時產生的.

       方法過載需要滿足以下條件:

              方法名稱相同

              方法的引數型別,個數,順序至少有一項不同

              方法的返回型別可以不相同

              方法的修飾符可以不相同


6

構造方法:

      當範例化一個類的物件時,java最自動呼叫該類的構造方法,在一個類中可以有多個構造方法,他們的方法名相同.

      構造方法的作用:

             在建立物件的時候,構造方法可以負責物件成員的初始化,如果對成員屬性的賦值.

      構造方法的語法:

             [構造方法的修飾符] <類名>([引數列表]){

                      [方法體]

             }

       注意點:

              構造方法修飾符不能是static,final,syncnronized,abstract,native

              方法就是類名且必須是類名

              構造方法沒有返回值


7

預設構造方法:

      就是一個無參的方法.

      建立類的範例是通過構造方法來完成的,但是允許在類中不顯示地定義構造方法,此時java會自動提供一個預設的構造方法,以便在建立物件時候進行呼叫.

       預設的構造方法會將所有的範例變數初始化成預設值,例如數位型的變數會設定成0,布林型會設定成false,而參照型別的變數會設定成null.

       注意點:

              只有在類中沒有顯示定義任何構造方法時,系統才會提供並呼叫預設的構造方法.

              如果在類中顯示定義了一個構造方法,系統則不會使用預設的構造方法.

             如果在類中定義了很多個構造方法,而又希望在範例化物件呼叫預設構造方法,就必須在類中定義預設構造方法.


8

this關鍵字

     this的慣例用法:

          在一個類中,當呼叫構造方法範例化物件時,如果區域性變數名和類的成員屬性名稱相同,則需求用this關鍵字來區分,然後java編譯的時候會犯二.

          在一個構造方法中,通過this關鍵字呼叫所屬類的另外一個構造方法.

          在一個範例方法中,通過this關鍵字存取當前範例的參照.


9

構造方法過載

      在java中,允許在一個類中定義多個構造方法,在建立物件時,系統會自動根據所呼叫的構造方法中包含的引數型別,個數,選擇匹配不同的構造方法建立物件.

       注意點:

             在構造方法中使用this關鍵字時,必須作為構造方法中的第一條語句

             只能在構造方法中使用this關鍵字來呼叫所屬類的其他構造方法


10

static修飾符和main方法

        static既可以修飾類的成員屬性也可以修改類的成員方法.

        static修飾的成員屬於類成員,其他屬於範例成員

        靜態成員有如下特點:

               靜態成員在類中只有一份被共用,隨類載入時候主動載入到記憶體中,和類具有同樣的生命週期.

               靜態成員可以通過類名直接存取或者用範例來存取

        範例成員有如下特點:

               每個範例都有不同的範例成員,他們直接是獨立的,它的生命週期隨著範例變化.

                範例成員必須通過類範例來進行存取

        static修飾的方法是類方法,在靜態方法中不能存取範例變數和範例方法,靜態方法可以通過類名或者範例直接存取.

        main方法是java的入口方法,在main方法中不能直接存取範例變數和範例方法,必須通過建立類範例來進行存取.



IT145.com E-mail:sddin#qq.com