在java中使用Class类

时间:2011-12-29 10:52:51

标签: java class

这是在一次采访中向我提出的问题,

Class类的用途是什么,如果我们在test.class文件中写test.java,JVM如何解释。

Test.java

Class c = Test.class;

请分享您的想法

2 个答案:

答案 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);