我在the Java tutorial翻阅了这句话:
最后,还有一种特殊的文字称为类文字,通过获取类型名称并附加“.class”形成;例如,
String.class
。这指的是表示类型本身的对象(类型为Class)。
这对我没有任何意义,尽管在此之前我已经注意到所有其他主题。任何人都可以用简单的语言用例子或参考文献来解释吗?
答案 0 :(得分:4)
类java.lang.Class
的实例表示正在运行的Java应用程序中的类和接口。对于应用程序中的每个类,都有一个Class
的实例。 SomeClass.class
语法是从SomeClass
到Class
的相应实例的一种方式。
答案 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'
相同