这是在一次采访中向我提出的问题,
Class
类的用途是什么,如果我们在test.class
文件中写test.java
,JVM如何解释。
Test.java
Class c = Test.class;
请分享您的想法
答案 0 :(得分:0)
The java specification 15.8.2 Class Literals
类文字是一个表达式,由一个类,接口,数组或基本类型的名称组成,后跟一个 `“。和令牌类。类文字的类型是Class。它 计算命名类型(或void)的Class对象 由当前类的定义类加载器定义 实例
因此Test.class
是类文字,JVM会将其评估为Class对象。您可以从Class对象
Test
的信息(例如方法,字段,注释等)
答案 1 :(得分:0)
只要您想获得类相关信息,就可以使用Class类。例如,如果您想要类名是com.example.ZiggyTest2
,那么执行特定任务
示例强>
<强>实施强>
void doSomeThingOnBasisOfClassName(Class c){
System.out.println(c.getCanonicalName());
if(c.getCanonicalName().equals("com.example.ZiggyTest2")){
System.out.println("Do some thing");
}
}
在任何课程中调用该方法
Class c = ZiggyTest2.class;
doSomeThingOnBasisOfClassName(c);