Java面向對象(類、對象、構造方法、this關鍵字)

Java面向對象(類、對象、構造方法、this關鍵字)

1、什麼是類:類包含屬性和方法

  • 對同一種事物的特徵(屬性)和行爲(方法)進行描述的抽象概念模型
  • 是對象的數據類型
  • 具有相同屬性和方法的一組對象的集合
  • 舉例:比如人類、狗類(屬性:顏色、尾巴長度等;行爲:搖尾巴、會叫等)
  • 表達的是有什麼能做什麼

2、類的構成:

(1)、對象的屬性和方法:

  • 屬性:對象具有的各種靜態特徵,表達的是“有什麼”。比如狗的顏色、尾巴長度等
  • 方法:對象有用的行爲,表達的是“會幹什麼”。比如狗會搖尾巴、會叫等

(2)、創建一個類的語法格式:

public class 類名{

//屬性

//方法}

(3)、創建類的示例:

public class Dog{

      //屬性

      String color="白色";

      double tail=23;

      //方法

      public void wagTail(){

            Sysem.out.println("狗狗正向你搖尾巴");

      }

}

 

3、什麼是對象:

  • 現實世界中存在的所有事物都是對象,看得見摸得着。比如一臺吉普車、一架鋼琴、一條黑色的狗等
  • 類的實例化(new方式創建),類的具體實現。比如車類中的一臺黑色的吉普車

4、什麼是面向對象編程:從對象的角度出發分析事物的特徵行爲進行編程的方式

5、面向對象編程的單一職責原則(single responsibility principle:SRP):不同的功能放在不同的類中,其目的就是爲了解耦

6、類和對象的關係:

(1)、類和對象的區別:

  • 類是抽象的概念,僅僅是一個模板
  • 對象是一個能看得見,摸的着的實體
  • 類是對象的類型
  • 對象是特定類型的數據
  • 開發中先定義類,再實例化對象

(2)、對象實例化的步驟:new關鍵字:聲明對象是在棧中開闢一個空間,存儲的是鑰匙
創建對象在堆中開闢一個空間存儲數據

實例化對象的過程分爲兩部分:

聲明對象: Dog dog;

實例化對象:dog=new Dog();

Dog one=new Dog();

在計算機內存中開闢空間如圖所示:

每次實例化對象都會產生不同的對象:

Dog one=new Dog();

Dog two=new Dog();

內存開闢情況如圖所示:

多個對象可以指向同一塊實例化空間:

Dog one=new Dog();

Dog two=one;

內存開闢情況如圖所示:

 

(3)、對象實例化應該注意:

對象必須實例化之後才能使用;對象間的引用傳遞,實際上傳遞的堆內存空間的使用權

7、構造方法:

語法:

特點:

  • 構造方法與類同名且沒有返回值
  • 只能在對象實例化的時候通過new來調用
  • 在類中沒有編寫構造方法時,系統會爲我們自動添加一個默認的無參構造方法
  • 在類中編寫構造方法之後,無論有參數還是無參數,系統都不會在默認添加
  • 一個類中可以有多個構造方法

8、this關鍵字

this:當前對象的默認引用

this的使用:
(1)、調用成員變量,解決成員屬性和局部變量的同名衝突

(2)、調用成員方法

(3)、調用重載的構造方法

 

 

 

 

 

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