今天學習了類和物件的定義格式以及類和物件的記憶體分析
1、首先需要定義乙個類,然後再類裡面定義相應的屬性和方法;如:建立乙個人的類,人應該要有名字、年齡、等等,就在類中定義相應的資料型別屬性;如
class test{
string name;
int age ;
//方法
public void test1(){
system.out.println();
(1)、定義好類以及屬性之後要返回主方法宣告類的變數以及建立物件和呼叫屬性、方法
//宣告乙個類的變數
test1 forme = null;
//建立乙個test的物件
forme = new test();
//呼叫屬性和呼叫方法
forme.age=22;
forme.name="小黑";
//呼叫方法
forme.test1();
(2)、呼叫完成後執行,這是我的**執行結果:
2、類和物件的記憶體分析:
哎 我不知道怎麼表達!我就直接給圖寫總結吧!
(1):如果是宣告了兩個物件,h2賦值給h1時,他們的棧記憶體儲存位址就會指向h1的堆記憶體資料,如果h2已經賦值了h1 那麼只要你修改了h1 或h2的資料,兩個都會隨之改變;如:現在h2賦值了h1,那麼他們兩個的name=小白,age=4;如果修改了h2的name=小黑,那麼h1的name=小黑;(注意:物件之間賦值只有相同型別才可以賦值)如圖所示:
(2):如果將h2 = h1之後,之前h2所定義的資料型別就不會被引用,被虛擬機器視為垃圾物件,並且**
類與物件小結:
1、定義類時要定義相應的屬性和方法
2、定義好類以及屬性之後要返回主方法宣告類的變數以及建立物件和呼叫屬性、方法
3、new 關鍵字表示向記憶體申請空間,也表示例項化乙個物件,建立乙個物件;
4、乙個物件在記憶體中的大小,由該物件的所有屬性所佔的記憶體大小的總和。引用型別變數在32位作業系統上佔4個位元組在64位作業系統上佔8個位元組。加上額外的物件隱性資料所佔的大小。
5、物件之間的賦值只有相同的型別才可以賦值
6、不同的引用,指向同乙個物件,任何乙個引用改變物件的值,其他引用都會反映出來。
7、程式設計時要注意的問題:在確定不適用物件時,要盡早釋放物件:引用=null 如:i=null;
8、當乙個堆中的物件沒有被任何引用變數所指向時,該物件會被虛擬機器的gc程式認為是垃圾物件,從而被**。
心得:最近這幾天又沒學習!懶惰啊!!哎,還是要加油!!!
類 物件的定義例項和引用
類 可以理解為一類物件高度抽象而成的集合體,表示他們共性的元件 物件,則是通過類來建立乙個物件 可以建立n多個物件 類名 物件名 則建立乙個物件 此時稱之為定義乙個物件 類名 物件名 new 類名 此時稱之為對物件進行例項化 物件名.此時稱之為對物件的引用 類和物件 1.類 物件 例項和引用 先舉個...
C 類的宣告和物件的定義
每乙個實體都是物件。有一些物件是具有相同的結構和特性的。每個物件都屬於乙個特定的型別,這個特定的型別稱為類 class 類代表了某一批物件的共性和特徵。前面已說明 類是物件的模板,而物件是類的具體例項 instance 正如同結構體型別和結構體變數的關係一樣,需要先宣告乙個結構體型別,然後用它去定義...
C 類的定義和物件的建立
乙個簡單的類的定義 3 個成員變數和 1 個成員函式 classstudent i.class 是 c 中新增的關鍵字,專門 用來定義類 ii.student是類的名稱 類名的首字母一般大寫,以和其他的識別符號區分開。iii.內部是類所包含的成員變數和成員函式,它們統稱為類的 成員 member i...