java第四周學習

來源:互聯網
上載者:User

標籤:今天   init   互相調用   初始化代碼塊   數列   成員   無法   私人化   開始   

這一周學習的還是物件導向的方法和應用

Java中方法的使用和注意事項

  1. 如果沒有傳回值,就不允許通過return關鍵字返回結果
  2. 方法中不允許嵌套使用
  3. Return傳回值只允許返回一個值,不允許返回多個
  4. 邏輯代碼不能寫在方法的外面
  5. 一個類中允許出現兩個相同的方法名,但是參數不能相同

方法的重載

指的是方法名一致,參數的類型不一致或者參數的個數不一致,參數類型的位置不一致,或者傳回值類型不一致的定義方法

方法的重載可以提高編程效率

對象編程和面向過程編程

物件導向編程的好處:

                     1.更接近人類的一個思維方式

                       2.可以隱藏某些資訊,提高程式的可維護性和安全性。

                      3.提高了程式的重用性。

 

面過程和物件導向的區別:

                                                面向過程側重於執行的過程。

                                            物件導向側重於結果,通過對象來擷取到最終的結果。

成員變數: 類的屬性,定義在類裡面方法的外面

    成員變數的範圍:從定義的位置開到整個類中都可以使用。

    成員變數如果你沒有賦值,會預設給你賦值:

       成員變數可以在定義的時候就賦值。

    成員變數的作用:用來描述一個類的公有屬性。

    成員變數的生命週期: 成員變數在對象被建立出來的時候才被建立,對象什麼時候消失,成員變數就什麼時候消失。成員變數的生命週期是和對象綁定在一起的。

 

局部變數: 定義在方法的內部

    局部變數範圍:在他所在的方法中有用,從定義的位置開始,到方法的結束。

    局部變數是沒有有預設值得,你要想使用局部變數就必須給局部變數賦值

    局部變數的作用: 在方法中定義一個變數給方法使用。

    局部變數的生命週期: 在方法被調用時建立出來,局部變數在出了範圍就消失

 

         局部變數的使用注意點:

          1.再同一個範圍中不允許出現兩個同名局部變數。

          2.在不同方法中是可以出現同名的局部變數

          3.在同一個類中是允許成員變數和局部變數同名

Java 匿名對象

概念:匿名對象指的就是沒有名字的對象

格式:new 類名 ();

匿名對象的作用:

  1. 調用一次某個對象的方法
  2. 可以作為實參來傳遞,簡化代碼

使用注意點;

  1. 匿名對象是不能用來操作對象屬性
  2. 匿名對象是無法擷取對象的屬性

 

 

Java 物件導向的特徵

 

  1. 封裝
  2. 繼承
  3. 多態

 

一,封裝

封裝的使用步驟:

    1.用private修飾符來修飾這個屬性或者行為,將屬性或者行為隱藏起來。

    2.需要通過本類中提供操作的方法,公開一個 set方法和get方法,一般用public來修飾

     不一定都是需要設定get和set方法,一般都是用set和get方法。

封裝的好處:

    1.提高代碼的安全性。

    2.簡化代碼。

3.便於維護代碼。

  

許可權修飾符: 可以將屬性和行為隱藏起來,只允許許可權內的人能夠訪問。

      public  : 公開的,公用的。許可權最大,任何人都可以來進行訪問。

      private : 私人的 許可權最低,只允許在本類中進行訪問

 沒有定義的許可權的預設的 default 比public要小一些允許所有的人來訪問它

 

 

構造方法

構造方法的作用: 初始化對象。初始化對象就是給屬性賦值。

構造方法的定義格式: public 類名(參數列表){}

構造方法的特點:

         1.方法名和類名是一致的。

         2.構造方法沒有傳回值的。

  

  構造方法的使用注意事項:

      1.構造方法不能夠由我們自己調用,他是jvm建立對象時調用的。

      2.構造方法只能被調用一次。

           3.如果類中沒有定義構造方法,jvm會在編譯的時候給你添加一個無參的構造方法。

        4.如果類中已經定義了構造方法,jvm就你不會為你建立無參的構造方法。這個時候就需要通過指定的構造方法來建立對象。

        5.構造方法可以通過重載的方式,定義多種形式的構造方法。

Java代碼塊分類

  1. 構造代碼塊(初始化代碼塊)
  2. 局部代碼塊
  3. 靜態代碼塊(Static修飾符修飾的代碼塊)

構造代碼塊的格式:

      {  代碼塊的內容  }

構造方法:   只能給指定的對象做初始化

構造代碼塊的使用注意點:

     1.構造代碼塊它是在建立對象的時調用。

     2.每建立一次對象,構造代碼塊就會被調用一次。

3.jvm在編譯Java源檔案時,會預設將成員變數的定義,放在類的最上面。

     4.成員變數的賦值實際上是在構造方法中完成的。它會在構造方法的代碼之前執行。

     5.構造代碼塊的代碼也是在構造方法中執行的,他也是在構造方法的代碼之前執行的。

     6.如果只有成員和構造代碼塊,按順序執行。

 

Java this關鍵字

this關鍵字: 當前調用方法的所屬對象, 誰調用了這個方法,this 就指的是誰。

         this關鍵字的使用:

          1.當局部變數和成員變數同名時,我可以通過this關鍵字來擷取到成員變數。

          2.可以通過this關鍵字調用本類中構造方法。

3如果沒有同名的局部變數,方法中調用成員量時,在編譯的時候會預設給給成員變數加一個this

4.在方法中可以通過this擷取方法調用者對象。

5.調用其他的構造方法。

注意點 1.this必須是構造器中的第一個語句

2.一個構造方法中不能夠同時調用兩個其他的構造方法。

3.構造方法中不要互相調用,會出現死迴圈。

 

static關鍵字

static:是一個靜態修飾符

static可以用來修飾成員變數:

     擷取成員變數:

             方式一:

                對象.屬性名稱

 

             方式二:

                類名.屬性名稱

1.static 關鍵字只能修飾成員變數,不能修飾局部變數。

static關鍵字

static修飾方法: 靜態方法.

靜態方法的訪問方式:

  訪問方式一: 對象.方法名

  訪問方式二: 類.方法名

 

靜態方法和非靜態方法的區別:

           1.靜態方法可以通過類和對象來訪問,但是非靜態方法只能通過對象來訪問。

 2.靜態方法中不允許直接使用非靜態成員變數。靜態方法中只能使用靜態成員變數。

           3.非靜態方法中既可以使用非靜態成員變數,還可以使用靜態成員變數。

           4.靜態方法中不能訪問非靜態方法,只能訪問靜態方法。

           5.非靜態方法中是可以訪問靜態方法

           6.靜態方法中不允許有this關鍵字和super關鍵字

總結: 靜態方法中只能訪問靜態屬性和行為 ,非靜態方法中都可以訪問。


靜態修飾法的使用情境: 你的方法裡面沒有對對象的屬性行為直接操作的時候就可以用static來修表示方法。

 

主方法 public static void main(String[] args) 的意思

  public : 方法是公開任何人都可以訪問。目的就是為了讓jvm能夠訪問到。

 

  static : 可以用類來存取方法,避免建立對象。jvm不知道該如何建立對象。

 

  void  : jvm虛擬機器那到放回值沒有任何意義。

 

  main  : 方法的名字,一個約定好的事情。

 

  arguments(參數): 可以在程式運行時傳遞參數進來。

 

設計模式

java中常用的設計模式:

      1 單例設計模式

      2 模板設計模式

      3 裝飾者設計模式

      4 觀察者設計模式

      5 原廠模式

 

單例設計模式: 通過單例類只能建立同一個對象

 

單例的使用:

      1.需要花費大量資源的操作。

      2.網路請求 javaEE servlet

 

     單例對象的建立步驟:

        1.私人化構造方法

        2.提供一個靜態方法來建立對象

        3.定義一個靜態成員變數接收對象

 樣本:

classSingle1

{

       private Single1(){}

  static Single1 s ;

publicstatic Single1 initSingle(){

if(s ==null){

s = newSingle1();

        }

return s;

    }

}             

今天就寫那麼多吧,還有很多的應用代碼沒有發上來,下次補上.

java第四周學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.