任何人都可以请解释什么SomeClassname.class
在JAVA返回?我无法理解它的功能..classname.class返回什么?
28
A
回答
30
对于给定的实例,它返回的结果与Object.getClass()一样,但是当你静态地知道你想要的类(即在编译时)时可以使用它。
从的Javadoc:
返回运行此对象的类。
总之,它给你一个对象,它代表(原始)对象的类。当您想要以编程方式发现方法和字段以调用/访问它们时,可以使用reflection等。
例如:
Method m[] = String.class.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
{
System.out.println(m[i].toString());
}
的Javadoc也指你的Java Language Specification - Class Literals(这可能是一个有点沉重阅读)。
11
它返回表示指定类名称的Class对象。如果您需要获取Class对象,则使用此方法。
这大致对应于.getClass(),它返回与对象实例对应的Class对象。当您想使用Class对象并且没有对象实例时,可以使用someclassname.class。
1
与.getClass()方法相同,但只能用于命名空类。 如果对象的类型可用,.class语法允许获得一个类,但是没有实例。 此外,获取原始类型的类的最简单方法。
3
.class是一个类文字...就像5是一个int文字,就像5.0是一个双重文字(令人惊讶的是,在java.lang包中有一个名为'Class'的类)。
因此,您可以打印类文字(就像您可以打印任何对象一样...您将得到toString()方法在Class类中返回的内容)。你可以有一个类变量。
PS:有很多功能可以使用
相关问题
- 1. synchronized(this)和synchronized(ClassName.class)有什么区别?
- 2. classname.class在Android中引用了什么?
- 3. 返回什么?
- 4. 如何编写classname.class能够返回对java.lang.Class对象的引用?
- 5. compareTo()返回什么?
- 6. this.id返回什么?
- 7. getCurrentPosition返回什么?
- 8. wave.readframes返回什么?
- 9. TelephonyManager.getNetworkCountryIso()返回什么?
- 10. 什么“master.dbo.xp_fixeddrives”返回
- 11. main()返回什么?
- 12. 什么返回mysqli_insert_id()?
- 13. request.getParameter返回什么?
- 14. $(...)。map()返回什么?
- 15. mxGetPr返回什么?
- 16. IO.sysopen返回什么?
- 17. CGColorGetComponents()返回什么?
- 18. setTimeout返回什么?
- 19. int.class返回什么
- 20. adapter.getItem()返回什么?
- 21. eof()返回什么?
- 22. `layer.get_weights()`返回什么?
- 23. dojo.query()返回什么?
- 24. Excel Worksheet.Usedrange返回什么类型返回
- 25. 为什么'返回自我'返回无?
- 26. 什么返回0xfe + ceil(x)返回?
- 27. 什么是Java的ClassName.class的Scala等价物?
- 28. 返回做什么?什么都没有返回
- 29. Jquery $() - 它返回什么,什么是$()[0]?
- 30. 为什么grep什么都不返回?
这是否意味着它返回类实例? – Rajeshwar
@Rajeshwar no:例如'new Object()'返回Object的新实例,但Object.class是类Class的实例。他们是不同的东西。 – trutheality
@trutheality请你详细说明.. – Rajeshwar