Java 類與物件 上

2021-09-12 12:03:33 字數 2716 閱讀 3756

一.物件導向程式設計:對現實生活的抽象

物件導向的三大特徵

封裝:將客觀事物封裝為抽象的類,並且類可以將自己的資料與方法只對可信的類與物件開發,對不可信的進行隱藏.內部操作對外部而言不可見.(保護性)

繼承:繼承描述的是一種能力,可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。

要使用繼承,必須滿足is-a原則.(**復用性)

多型:乙個類例項的相同方法在不同情形下有不同的表現形式.

二:物件導向的名詞擴充套件

物件導向最大的特徵:可以對現實生活進行抽象

三.類與物件的定義與使用

1.類:指的是共性的概念(人類),而物件是類的乙個具體的,可以使用的事物

2.首先產生類(類是生產物件的藍圖)

而後才可以產生物件,物件所具備的所有行為,一定在類中進行了完 整定義.

3.類中的組成:

屬性:描述每個物件的具體特點

方法:操作的行為

四.類的定義

類使用class定義

class 類名稱

方法2(){}

方法n(){}...

}

1.類中定義的普通屬性與方法不再由主類直接呼叫,而要通過物件來呼叫.

2.普通方法:public void +名稱

3.產生物件語法:

類名稱 物件名稱 = new 類名稱();

//產生乙個名為per的person物件

例如: person per=new person();

五.物件記憶體分析

1.棧記憶體:方法的區域性變數,方法形參,引用

2.堆記憶體(所有方法共享此記憶體):陣列物件,所有類的物件

3.當看見關鍵字new,一定在堆上開闢了新空間

4.物件的引用傳遞:多個棧記憶體指向同一塊堆記憶體

六.物件空指標問題

所有引用資料型別變數必須賦值後使用,否則會丟擲nullpointerexception(執行時異常)

七.private(個人的)實現的封裝處理

若類中屬性直接暴露給物件操作,存在不安全問題 (由於物件可以直接操作類中屬性,無法限制屬性是否正常設定). 使用private對屬性做封裝

使用private修飾的屬性或方法,**表示該屬性與方法只能在本類中直接使用,**其他類無法直接使用private封裝的屬性或方法.

default許可權

class person

person類與name屬性都是default許可權

(包訪問許可權,在同乙個原始檔中都可以訪問)

若private封裝的屬性要被類的外部訪問,需要提供setter/getter方法

setter方法用於設定屬性值

public void set+變數名

getter方法用於取得屬性值

public 型別 get+變數名()

八.類的設計原則

i.編寫類時,所有屬性必須使用private封裝ii.屬性若要被外部訪問,必須定義相應的getter和setter方法

九.類的構造方法

定義:構造方法在使用關鍵字new例項化新的物件時呼叫的方法

1.person 2.per = 3.new 4.person();

1.類名稱

2.物件引用

3.在堆上開闢空間

4.構造方法(無參構造)

構造方法特徵:

i.構造方法名稱必須與類名稱相同

ii.*構造方法沒有返回值型別宣告

//命名不規範的普通方法,必須通過物件呼叫

public void person(){}

//無參構造,在物件產生時呼叫

public person(){}

iii.每個類中一定至少存在乙個構造方法

(若沒有明確定義,系統會生成乙個預設的無參構造;

若明確定義了構造方法,系統不再生成無參構造)

因此,編譯器是根據程式結構來區分普通方法與構造方法的,所以在構造方法前沒有返回值型別宣告

構造方法作用:

為類中屬性初始化,避免多次setter呼叫.

構造方法的過載:

引數個數不同

建議:若干構造方法,請按照引數個數公升序或降序

在進行類定義時:①定義屬性—>②定義構造方法----->③定義普通方法

類與物件(上)

this指標 c語言中,結構體中只能定義變數,在c 中,結構體內不僅可以定義變數,也可以定義函式。結構體的定義,在c 中更喜歡用class來代替。class classname 一定要注意後面的分號 類的兩種定義方式 1 宣告和定義全部放在類體中,需要注意 成員函式如果在類中定義,編譯器可能會將其當...

物件與類(上)

在j a中,所有的類都源自 object 類,所有其他類都擴充套件自這個 object類 繼承 inheritance,繼承後的新類具有被繼承類的全部屬性和方法 物件類之間的關係 使用預定義類 j a類庫中的 localdate類 plusdays方法會得到乙個新的 localdate,這個新日期物...

Java類與物件

物件導向的程式設計思想力圖使在計算機語言中對事物的描述與現實世界中該事物 的本來面目盡可能地一致,類 class 和物件 object 就是物件導向方法的核心概念。類是對某一類事物的描述,是抽象的 概念上的定義 物件是實際存在的該類事物的 個體,因而也稱例項 instance 比如 美女是類,范冰冰...