日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

面向对象简述--对象、引用、指针

發布時間:2025/4/5 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象简述--对象、引用、指针 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類和成員對象

【定義類】

(1)兩個重要概念:

類(class):類是某一批對象的抽象,可以把類理解成某一種概念。

對象(object,也被稱為實例,instance):對象才是一個實際存在的實體。

?

(2)定義類的簡單語法:

? ?[修飾符]? class? 類名{

? ? ? ? ?零到多個構造器定義。。

? ? ? ? ?零到多個成員變量。。

? ? ? ? ?零到多個方法。。? ? ? ? ?

? ?}

成員變量:定義類或該類的實例所包含的狀態數據。

方法:定義該類或該類實例所包含的行為特征或功能實現。

構造器:用于構造該類的實例。Java語言通過new關鍵字來構造實例,從而返回該類的實例。構造器是一個類創建對象的根本途徑,如果一個類沒有構造器,這個類通常無法創建實例。因此,java語言提供了一個新的功能:如果程序員沒有為一個類編寫一個構造器,則系統會為該類提供一個默認的構造器(總是無參的)。一旦程序員為一個類提供了構造器,系統將不會為該類提供構造器。

?

注:

(i)static修飾符:

? ? ? ?是一個特殊的關鍵字,可用于修飾方法和成員變量等成員,static修飾的成員表 明它屬于這個類本身,而不屬于該類的單個實例,因此通常把static修飾的成員變量也稱為類變量和類方法。不使用static修飾的普通方法、成員變量則屬于該類的單個實例,而不屬于該類。因此通常把不適用static修飾的成員變量和方法稱為實例變量、實例方法。由于static的英文翻譯是“靜態”,所以有時也把使用static修飾的成員變量和方法也稱為靜態變量和靜態方法,反之,稱為非靜態變量和非靜態方法。靜態成員不能直接訪問非靜態成員。

? ? ? ?static的真正作用就是用于區分成員變量、方法、內部類、初始化塊這四種成員到底屬于類本身還是屬于實例,static相當于一個標志,有static修飾的成員屬于類本身,沒有static修飾的成員屬于該類的實例。

?

(3)構造器

構造器名必須和類名相同。

問:構造器不是沒有返回值嗎?為什么不能用void聲明呢?

答:簡單的說,這是java的語法規定。實際上,類的構造器器是返回值的,當使用new關鍵字來調用構造器時,構造器返回該類的實例,可以把這個類的實例當成構造器的返回值,因此構造器的返回值類型總是當前類,無須定義返回值類型。但必須注意:不要在構造器里顯示使用return來返回當前類的返回對象,因為構造器的返回值是隱式的。

?

【對象、引用、指針】

Person p = new Person();

p.name = "李三";

p.age = 29;

? ? ? ?與數組類型相似,類也是一種引用數據類型,因此程序中定義的Person類型的變量實際上是一個引用,它被存放在棧內存中,指向實際的Person對象;而真正的Person對象則存放在堆(heap)內存中。如上圖。

? ? ? ? 棧內存里的引用變量并未真正的存儲對象的成員變量,對象的成員變量數據實際上存放在堆內存里;而引用變量只是指向該堆內存里的對象。

? ? ? ?當一個對象被創建成功以后,這個對象將保存在堆內存中,java程序不允許直接訪問堆內存中的對象,只能通過該對象的引用來操作該對象。

注:如果希望垃圾回收機制回收某個對象,只需切斷該對象的所有引用變量和它之間的關系即可,也就是把這些引用變量賦值為null。

轉載于:https://www.cnblogs.com/zhzcode/p/9596325.html

總結

以上是生活随笔為你收集整理的面向对象简述--对象、引用、指针的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。