是" .class"为java中的类的实例工作

时间:2017-11-23 08:08:56

标签: java

我试图执行下面给出的给定代码:

public class XXX
{
public static void main(String[] args)
{System.out.println(new XXX().class);
}
}

但是代码在编译期间显示错误:

/XXX.java:4: error: <identifier> expected
{System.out.println(new XXX().class);
                              ^
/XXX.java:4: error: ';' expected
{System.out.println(new XXX().class);
                                   ^
2 errors

但是当我编译以下代码时:

public class XXX
{
public static void main(String[] args)
{System.out.println(XXX.class);
}
}

它工作正常,我的意思是它打印输出如下所示

class XXX

这是否意味着&#34; .class&#34; java中的操作(我不知道该怎么称呼)只适用于一个类,而不是它的实例?

1 个答案:

答案 0 :(得分:2)

对于实例,您必须使用方法getClass()

public class XXX
{
   public static void main(String[] args)
      {System.out.println(new XXX().getClass());
   }
}