1. 程式人生 > >面向對象2——對象

面向對象2——對象

dog main方法 常見 技術 strong TP 無法 C/C++ 引用類型

對象產生和使用

。創建對象的關鍵是構造器,通過new關鍵字來調用某個了類的構造器即可常見這個類的實例

。定義一個類是為了重復創建該類的實例

1.創建對象

Person p;p=new Person(); / Person p=new Person();

2.使用對象

。訪問對象的實例變量

。調用對象的方法

。static修飾的成員變量和方法即可通過類來調用也可通過實例來調用

3.對象、引用和指針

。類是一種引用類型,它所定義的變量是一種引用

。。被存放在棧內存中指向存放在堆當中的對象

技術分享圖片

。。棧內存中的引用並沒有真正存儲對象的成員變量,對象的成員變量數據實際存放在堆內存中:引用變量指向該堆內存中的對象

。。引用變量的原理與C/C++中的指針很相似

。堆內存中的對象可以有多個引用,即多個引用變量指向同一個對象

。當堆內存中的對象沒有任何引用變量指向時,則該對象無法被訪問,垃圾回收機制簡化回收該對象

4.對象的this引用

。this關鍵字總是指向調用該方法的對象

。this作為對象的默認引用的情況

。。構造器中引用該構造器正在初始化的對象

。。在方法中調用該方法的對象

。this最大作用是讓類中的一個方法訪問該類裏的另一個方法或實例變量

。例

技術分享圖片

技術分享圖片

。。產生兩個Dog對象:在在run()方法中創建一個Dog對象,由d引用變量指向;main方法中,再次創建一個Dog對象,由dog引用變量指向

。通過this指向

技術分享圖片

技術分享圖片

。。this可以表示任何對象。當this出現在某個方法中時,它所代表的對象是不確定的,但它的類型是確定的(當前類);當方法(run)被調用時,this所指向的對象即調用該方法的對象(dog2)

。。static修飾的方法可以直接使用類來調用;如果 在static修飾方法中使用this關鍵字,則其無法指向合適對象

。。static修飾方式不能使用this引用,則static方法不能訪問非static修飾的普通成員

。。static修飾的變量、方法屬於類。不能使用對象調用static修飾的成員變量和方法;使用類調用static修飾的成員變量和方法

面向對象2——對象