classname.class 返回什么?

新手上路,请多包涵

谁能解释一下 SomeClassname.class 在 JAVA 中返回什么?我无法理解它的作用..

原文由 Rajeshwar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 290
2 个回答

它返回与 Object.getClass() 对给定实例所做的相同的操作,但是当您静态地知道您想要的类时(即在编译时),您可以使用它。

来自 Javadoc:

返回此对象的运行时类。

简而言之,它为您提供了一个代表(原始)对象 的对象。当您想要以编程方式发现方法和字段以便调用/访问它们时,除其他外,它通过 反射 使用。

例如:

         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 (这可能有点繁重)。

原文由 Greg Kopff 发布,翻译遵循 CC BY-SA 3.0 许可协议

它返回表示指定类名的 Class 对象。如果您需要获取 Class 对象,则使用它。

这大致对应于 .getClass() 返回对应于对象实例的 Class 对象。当您想要使用 Class 对象并且没有对象实例时,您可以使用 someclassname.class。

原文由 Francis Upton IV 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题