JavaSE第三章筆記(物件導向1)

weixin_44702189 發表於 2020-10-18

程式導向和麵向物件的設計思想

程式導向

procedure oriented programming 縮寫 POP(注重於解決步驟)

分析出解決問題所需要的步驟,然後把步驟一步一步實現

物件導向

object oriented programming 縮寫 OOP物件導向的程式語言(巨集觀整體上的設計)

以分類的方式進行思考和解決問題,物件導向的思維方式適合於處理複雜的問題。物件導向的思想符合人類的認知習慣

Java類

一個模板,描述一類事物的屬性和行為

​ 注: **屬性 :**類的成員 變數(特徵)

​ [訪問許可權修飾符] [修飾符] 資料型別 變數名[=值] ;

行為: 類的成員方法(功能)

​ [訪問許可權修飾符] [修飾符]/void 方法名(){ [return 返回值;] }

類的結構

成員變數:物件屬性的描述;

方法:物件的行為;(可以做的事情)

構造方法:用於建立物件;

內部類: 即在類體中宣告的類。

:程式碼塊

基本的屬性和方法

成員變數:對某種事物特徵的描述(這個類有什麼)

方法:對某種事物行為的規定(這個類能幹什麼)

Java類的定義

第一步:發現類

類的宣告格式為:[訪問許可權修飾符] [修飾符] class 類的名稱{ }

訪問修飾符有兩種public,default

**修飾符:**final,abstract

關鍵字class用來定義一個類

**Java類名的命名規範:**類名首字母大寫,見名知意,駝峰表示

第二步:發現類的共有屬性(成員變數)

宣告成員變數的格式為:[訪問許可權修飾符] [修飾符] type attr_name [=defaultValue] ;

第三步:發現類的方法

方法宣告格式為: [訪問許可權修飾符] [修飾符]/void 方法名(){ [return 返回值;] }

Java物件

物件:物件是類的一個例項,是以類為模板在記憶體中建立的實實在在存在的例項

物件的建立和使用

  • 使用new關鍵字建立物件

    例:Car baomacar = new Car();

    ​ Car類就是baomacar的型別

  • 使用物件(引用). 成員變數來引用物件的成員變數

    例:baomacar.color

  • 使用物件(引用). 方法來呼叫物件的方法

    例:baomacar. start()

  • 同一類的每個物件有不同的成員變數儲存空間

  • 同一類的每個物件共享該類的方法

類和物件

是一類事務的抽象概念,是一個模型

物件是由這個模型所創造的一個一個的具體存在的,是實實在在存在的例項,所以建立物件的過程也叫例項化物件

注:現實生活中先有物件後有類,而程式設計時先設計類後建立物件

變數分類

一個類包含:成員變數;區域性變數;類變數

成員變數

  • 定義在類中,方法體之外

  • 資料型別可以是基本型別/引用型別

  • 成員變數可以不賦值,在java中會使用預設值進行賦值

    引用型別(null) float(0.0)

  • 在建立物件時,會從類中複製一份屬性到物件中

  • 作用域為整個類,在類中的方法,構造方法,程式碼塊中使用

區域性變數

  • 在方法,構造方法,語句塊中定義
  • 可使用任何資料型別
  • 在使用前,必須先進行賦值
  • 變數宣告和初始化都是在方法中,方法結束後,變數就會自動銷燬
  • 方法引數也屬於區域性變數,在呼叫時會給其賦值

類變數

也叫靜態變數,類變數也宣告在類中,方法體之外,但必須宣告為static型別

方法分類

成員方法

定義在類中。這種方法在建立物件的時候建立

構造方法

用來建立物件的方法

類方法

**(**也叫靜態方法)類方法也宣告在類中,但必須宣告為static型別

構造方法

  • 方法名與類名相同,沒有返回值,不需要void修飾
  • 一個類可以有多個構造方法(方法過載)
  • 如果類中沒有顯示構造方法,則系統會預設一個構造方法
  • 使用 new+ 構造方法 建立一個新的物件。在建立一個物件的時候,至少要呼叫一個構造方法

方法的過載

一個類中可以定義相同的名字,但引數不同的多種方法,呼叫時,會根據不同的參數列選擇對應的方法

  • 同一類中
  • 方法名相同
  • 引數不同(數量不同,型別不同,順序不同)

注:方法過載和返回值型別沒有任何關係