一个类文字如何工作?

时间:2013-01-10 18:13:16

标签: java

  

可能重复:
  What is a class literal in Java?

我在the Java tutorial翻阅了这句话:

  

最后,还有一种特殊的文字称为类文字,通过获取类型名称并附加“.class”形成;例如,String.class。这指的是表示类型本身的对象(类型为Class)。

这对我没有任何意义,尽管在此之前我已经注意到所有其他主题。任何人都可以用简单的语言用例子或参考文献来解释吗?

5 个答案:

答案 0 :(得分:4)

java.lang.Class的实例表示正在运行的Java应用程序中的类和接口。对于应用程序中的每个类,都有一个Class的实例。 SomeClass.class语法是从SomeClassClass的相应实例的一种方式。

答案 1 :(得分:1)

说简单的语言:你称之为class literal的东西是一个完全描述一些class的对象:它的所有方法,它的所有字段,它的所有注释,类的修饰符等等。需要在运行时创建该类的新实例。

答案 2 :(得分:1)

当你想要做一些涉及类本身而不是实例的事​​情时,类文字只是一种特殊的类型。

以下是我常用的一些简短列表(不是全面的,但你可以得到一个好主意)

1。)反思,你想在运行时实例化你可能不知道的东西(也许它存储在Class类型的变量中)

2。)你想检查2个对象是否属于相同的相关类型,你可以写下以下内容:B.class.isAssignableFrom(a.getClass());

3.。)您希望列出类中的所有方法或公共变量,可能是文档。

还有许多其他用途,但这些是我在常规实践中使用的主要用途。

答案 3 :(得分:0)

简短的例子:

    Class x = String.class;
    System.out.println(x);

您可以使用x创建它指向的类的运行时实例,或者针对它测试对象的类。

答案 4 :(得分:0)

它的计算结果是引用或基本类型的包装类的类标识符。表达式void.class计算为Void类的类标识符。与'String.class'

相同