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

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

Klass機(jī)制:

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

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

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