我试图执行下面给出的给定代码:
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中的操作(我不知道该怎么称呼)只适用于一个类,而不是它的实例?
答案 0 :(得分:2)
对于实例,您必须使用方法getClass()
public class XXX
{
public static void main(String[] args)
{System.out.println(new XXX().getClass());
}
}