Java基礎總結(一)物件,類,屬性,方法

2021-07-29 02:33:41 字數 1841 閱讀 3593

物件,類,屬性,方法的解析:

以人為例。

類:人可以看作乙個類。

物件:具體到什麼人(黃種人,白種人,黑種人,中國人等等)這就可以看作是物件,可以根據需求繼續往下區分,比如 男人 女人。

屬性:比如說黃種人的特點:黃**,黑頭髮,黑眼睛等等,這些就是黃種人具有的屬性,本身存在的,也可以是後天加上去的,是不需要人刻意去行動,自然而然表現出來的。

方法:方法其實是某種人的具體行為解釋,比如說會走路,會說話

方法可以看作是動詞(行為動作的解釋),屬性是名詞(事務本身具有的特性)。

名詞解釋到這裡,我們用**來看看,用**是如何做到上述名詞的描述。

public

class persondemo

public

static

void

main(string args)

從上述**我們可以看出:

①建立物件,那麼我們首先要有乙個類,通過類new乙個物件

②方法與類的區別在於:類有class開頭,無();方法需放在類的裡面,方法有(),()的設定在於是否需要傳參

persondemo pd =new persondemo();
這段**,我們怎麼理解呢?

很多人說,在這段**中,我們new了乙個persondemo的物件,名叫pd,其實這是種錯誤的理解。

pd只是persondemo的物件的乙個引用

分析過程:

第一步:new persondemo():在堆記憶體中,建立persondemo物件。

第二步:persondemo pd :在棧記憶體中建立引用pd,(其值為堆記憶體中persondemo物件的記憶體位址)

第三步: persondemo pd = new persondemo();將引用pd指向persondemo物件,也就是給pd賦值,其值為persondemo物件的記憶體位址

綜上三步,我們在 pd.say(); 時,其實是經歷上面三步後再通過persondemo()物件呼叫say();完成列印輸出。

分析圖如下

那麼下面這個**該怎麼分析呢?

persondemo pd1  =pd;
這個就是將pd的記憶體位址(堆空間中的persondemo位址)賦值給pd1,這樣pd1的指向也是persondemo。pd1同樣是persondemo的物件的乙個引用

當完成上述**後,pd1,pd都可以對persondemo的狀態進行改變,任意乙個引用的改變會引起另乙個引用的改變,因為它們指向的是同乙個物件

從上分析可以看出:乙個物件可以有多個引用,但是乙個引用只能指向乙個物件

結束語:通過上面的分析,我們可以總結出基本的物件導向思想

事物—-類—-物件—-引用

①引用 控制 物件狀態

②先有類才有物件

假如你只建立乙個引用,比如

persondemo pd;
那麼你在使用這個pd時,必須給它指定乙個物件

物件導向(一) 物件屬性

物件屬性型別 每個物件都是基於乙個引用型別建立的 1.資料屬性 2.訪問器屬性 4個特性 1.configurable 能否delete屬性從而重新定義屬性 能否修改屬性的特性 能否把屬性改為訪問器屬性 2.enumerable 能否用for in迴圈返回屬性 3.writable 能否修改屬性的值...

物件導向(一) 物件屬性

物件屬性型別 每個物件都是基於乙個引用型別建立的 1.資料屬性 2.訪問器屬性 4個特性 1.configurable 能否delete屬性從而重新定義屬性 能否修改屬性的特性 能否把屬性改為訪問器屬性 2.enumerable 能否用for in迴圈返回屬性 3.writable 能否修改屬性的值...

java基礎之一 物件,介面

equals int t1 1 int t2 2 person p1 new person person p2 new person t1 t2 true p1 p2 false p1.equals p2 true此處重點說明string和integer物件 string記憶體位置說明 string...