2015-08-13 15 views
6

, sadeceSınıf için bir örnek oluşturma? Tamsayı sınıfının kaynak kodu baktığımızda

Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int"); 

Ve getPrimitiveClass bir yerli yöntemdir sınırının altında şuna yanılmak.

static native Class getPrimitiveClass(String name); 

Neden yerel yöntem oldu? Gerçekten bilmek istiyorum.

Class için örnek nasıl oluşturulur? Bu örnek ex için örnek oluşturma normal yolu ile farklı mı: Ex e = new Ex()? yöntem tanımı yukarıda

+1

Anlatabildiğim kadarıyla bir örnek oluşturmuyorsunuz. Sadece bir 'Class' nesnesi alıyorsun. – biziclop

+3

Bunun günümüzün popüler bir konusu olduğunu düşünüyoruz, bkz. [Burada] (http://stackoverflow.com/questions/31983101/why-does-classinteger-c-int-class-compile). – Mena

+0

@biziclop Bir sınıf nesnesi = örnek almanın bir varsayımı var mıyım? –

cevap

2

yorum diyor: (en azından Sun'ın) Sanal Makine C uygulanan yana

/* 
* Return the Virtual Machine's Class object for the named 
* primitive type. 
*/ 
static native Class getPrimitiveClass(String name); 

, o zaman ben bu yöntem native olmanın sebebi olduğunu farz ediyorum.

+0

tam olarak nedeni. –

İlgili konular