6

重複の可能性:
MyClass.classとMyClass.getClass()の呼び出しの違いは何ですか

オブジェクトが欲しいClass<T>のですが、これら2つのアプローチの違いはどれですか。

Test ob = new Test();

ob.getclass();

また

Test.class
4

2 に答える 2

7

クラスjavadocによる

最初のアプローチは、からClassオブジェクトを取得しますObject

2番目のアプローチでは、リテラルを使用して、名前付き型(またはvoid)のClassオブジェクトを取得します。class

于 2012-11-13T19:14:35.373 に答える
5

getClass()メソッドはで定義されているため、java.lang.Object任意のオブジェクト参照で呼び出すことができます。

参照が指すオブジェクトの実行時型に関連付けられたClassオブジェクトを取得します。。

getClass()メソッドは、実際には.classにまったく類似していません。より近いのはClass.forName(String)で、Stringによって指定されたクラスのClassオブジェクトを取得します。

どちらかを使用できる状況で.classは、より効率的であるため、を使用します。

于 2012-11-13T19:17:56.393 に答える