華為云計算 云知識 什么是Klass和Oop?
什么是Klass和Oop?

在虛擬機中,需要一種機制來識別一個對象的具體類型Java的反射依賴這種機制;Python源代碼里缺少類型信息,更加完全依賴于對象類型識別機制;即使C++做為靜態(tài)語言的代表,也依賴虛表指針進行dynamic_cast時的類型檢查。

Klass機制:

在虛擬機中,每種類型都有自己對應(yīng)的Klass,例如IntegerKlass, DoubleKlass,在虛擬機中往往是一個單例對象。

每一個對象,例如Java中的整型對象(new Integer(1)),都被稱為普通對象,又因為虛擬機中的對象往往使用引用的方式,對應(yīng)到虛擬機的實現(xiàn)中就是指針,所以又稱為普通對象指針(Ordinay Object Pointer)。

每一個普通對象都有一個指向Klass的指針用以指示自己的類型。