2009-11-26 87 views
1

i m jst混淆了兩者中哪一個存在於內存中的類或對象?java中的類和方法

+3

哪個在移動?國旗,還是風? – 2009-11-26 14:23:27

+2

你問哪種語言? Java還是Javascript? – bmargulies 2009-11-26 14:24:00

+0

Javascript沒有課程。這個問題的唯一答案是「畝」。 – 2009-11-26 15:08:06

回答

3

該對象。

在某種程度上,也是類,但我認爲你的意思是澄清哪一個是持有數據的人。

例如:

這是類:

class Employee { 
    String name; 
} 

和實例對象應該是:

Employee e = new Employee(); 
e.name = "himangi"; 

Employee other = new Employee(); 
other.name = "John"; 

你有兩個對象,eother它們存在於內存中。

讓人有點困惑的是,Java也將類定義存儲爲對象,因此在運行時您可以擁有代表Employee類的類對象。

Class employeeClass = Employee.class; 
System.out.println(employeeClass.getName()); 

但是再一次,內存中存在的是對象。

1

該類是該對象的藍圖。

該類定義了對象將支持/使用的方法和屬性。

該對象是藍圖的一個實例。

創建它會在內存中保存一個對象的時候,

即10個對象= 10個記憶存儲的實例

類存儲在內存中,這樣的運行環境可以「查詢」類定義/藍圖併爲您創建一個新實例。

這裏的區別是,只有一個類的定義將被存儲在內存中,而不管您創建的對象的數量是多少。

1類定義可以有許多對象實例(除非類被標記在這種情況下有1類定義和1個實例作爲靜態的。)。

大多數編譯語言也是如此。