什么是.getClass()方法的返回类型...是类的类名还是对象?

时间:2014-08-16 17:20:05

标签: java

什么是.getClass()方法的返回类型...是类的名称还是类的对象?      什么是.forName()的返回类型..      什么是.forName(" Myclasss")返回类型和Myclass之间的区别      已经浏览过这个并且真的很困惑      在此先感谢

2 个答案:

答案 0 :(得分:2)

getClass()返回java.lang.Class的实例,该实例表示调用它的对象的类型。 Class.forName(String)java.lang.Class中的静态方法,它返回java.lang.Class的实例,其中完全限定名称作为参数传递。

答案 1 :(得分:0)

getClass()在运行时获取对象的类。因此,如果您的应用程序中有一个对象并想要检查它是什么类,那么您可以使用myObject.getClass()方法。通过稍后调用getName()getCanonicalName(),您可以获得该类的名称。

另一方面,当您知道某个班级的名称时,您可以使用Class.forName('yourPackage.yourClassName')。 因此,这两个方法都返回相同的类型,但是一个用于在运行时获取对象的Class,第二个用于获取具有给定名称的Class。 在这两种情况下,您都可以使用返回的Class对象来调用此Class的对象,使用反射获取它的字段,方法等。