1. 程式人生 > >Java學習 · 初識 面向對象基礎一

Java學習 · 初識 面向對象基礎一

調用 區分 spa 數據 類型 不可訪問 解決 語句 內部類

面向對象基礎

1.1面向過程與面向對象的區別

面向過程和面向對象二者都是思考問題的方式,再簡單的事物時,可以線性思考時使用面向過程,但當事物較為復雜時,只能使用面向對象設計。但二者並不是對立的,在解決復雜問題時,通過面向對象的方式把握事物之間復雜的關系,方便分析整個系統;具體到微觀時,仍然使用面向過程設計。

以開車為例,面向過程中思考

  1. 有一輛車
  2. 駕駛員上車
  3. 掛擋踩離合
  4. 車開動

而面向對象中思考

  1. 有車、駕駛員這兩個個對象
  2. 車擁有掛擋離合這幾個方法(還擁有屬性,如性能外觀)
  3. 人擁有掛擋踩離合這幾個方法(同樣擁有屬性)

1.2 對象與類

對象是具體的事物,而類是對對象的抽象,如小明小紅是對象,而人則是對小明小紅的抽象,即類。

生活案例:上海大眾汽車是類,你購買的其中的一輛即對象。

對象的三個特征:

  1. 對象的行為(即方法)
  2. 對象的狀態(即屬性)
  3. 對象標識

類之間的三種關系:

  1. 依賴(uses-a)
  2. 聚合(has-a)
  3. 繼承(is-a)

1.3 定義與使用類

類的組成:屬性(field),方法(method),構造方法(construtor),其他如代碼塊,內部類;

類的屬性(成員變量):用於定義該類所含數據或靜態屬性

1.定義格式:【修飾符】 屬性類型 屬性名 = 默認值

(如不初始化則使用默認值)

2.局部變量和成員變量

技術分享圖片

3.引用類型

技術分享圖片

Java中的對象和數組即通過引用對其操作的

a) 可以理解為受限的指針

b) 但引用不能進行運算,只能賦值

c) 引用的本質是對象,指針的本質是地址

類的方法:

  1. 定義格式:

[修飾符] 返回類型 方法名(參數){代碼塊}

  1. 方法調用:對象.成員方法

形參和實參

參數傳遞:(Java中都是按值傳遞)

技術分享圖片

3.構造器

  1. 定義:constructor 構造方法 創建對象時被調用
  2. 作用:為成員變量初始化
  3. 特點:

a) 方法名與類名一致

b) 不能定義返回類型

c) 通過new調用

d) 如果沒有定義構造器,系統則有默認的無參數構造方法

e) 可重載

  1. this關鍵字

this表示當前對象本身的一個引用

使用this:

a) 普通方法中:區分類的成員屬性和形參

b) 構造方法中:來調用其他構造方法

必須位於第一條語句

c) Static 不能使用

技術分享圖片

Static關鍵字

  1. 同static聲明的成員變量為靜態成員變量

a) 公用變量,被類的所有實例使用

b) Static成員變量只有一份,被共享

c) 通過類.類屬性調用

  1. 用static聲明的方法為靜態成員變量

a) 不需要對象即可調用方法

b) 在調用該方法時,不會傳遞引用對象,即static方法不可訪問非static變量

c) 不可以使用this,super關鍵字

靜態初始化塊

技術分享圖片

Java學習 · 初識 面向對象基礎一