1. 程式人生 > 其它 >java面向物件-類與物件、封裝

java面向物件-類與物件、封裝

物件在需求和程式碼中的體現:

現實生活中的事物都有特點(屬性)和功能,那麼這個事物就可以描述為一個物件,它的特點和屬性就是物件的變數,它的功能就是物件的方法,可以編寫n個方法。

public class 類名 {
//n個屬性
資料型別 變數名:
資料型別 變數名:
資料型別 變數名:

//n個方法
修飾符 返回值型別 方法名(引數){
  執行語句;  
    }   
}

事物的成員屬性在程式碼中的體現就是成員變數。

成員功能在程式碼中的體現就是成員方法。

建立物件的格式: 類名 物件名 = new 類名();

類與物件的區別:

類是對事物的抽象描述,物件用於表示該事物的個體,類用於描述多個物件的共同特徵,他是物件的模板,物件用於描述個體,是類的例項。

區域性變數和成員變數的區別:

一:定義的位置不同

定義在類中的是成員變數

定義在方法或者{}中的是區域性變數

二:在記憶體中的位置不同

成員變數儲存在堆記憶體的物件中

區域性變數儲存在棧記憶體的方法中

三:生命週期不同

成員變數隨著物件的出現而出現在堆中,隨著物件消失而消失

區域性變數隨著方法執行出現在棧中,隨著方法彈棧而消失

四:初始化不同

成員變數在堆記憶體中,有預設的初始化值

區域性變數沒有預設的初始化值,必須手動賦值才能使用

面向物件共有三個特徵:封裝、繼承、多型

封裝表現:

方法和類都是封裝體。

封裝的優點:

提高了程式碼的複用性

隱藏了實現細節,對外還提供了可以訪問的方式,便於呼叫者使用

提高了安全性。

Private私有

當我們在一個類中描述事物的時候,事物的屬性可以被任意訪問和使用,明顯不符合需求,這時候可以新增private修飾詞,這樣就無法直接訪問。

當屬性前新增privatte修飾詞後被私有的成員屬性無法直接賦值,只能通過成員屬性的賦值Set和取值Get方法。

類中不需要對外提供的內容都私有化,包括屬性和方法。