什么是.getClass()方法的返回类型...是类的名称还是类的对象? 什么是.forName()的返回类型.. 什么是.forName(" Myclasss")返回类型和Myclass之间的区别 已经浏览过这个并且真的很困惑 在此先感谢
答案 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的对象,使用反射获取它的字段,方法等。