【问题标题】:Does ".class" work for instances of a class in java [duplicate]“.class”是否适用于java中的类实例[重复]
【发布时间】:2017-11-23 08:08:56
【问题描述】:

我已尝试执行下面给出的代码:

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

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

【问题讨论】:

  • 但如果“.class”提供静态访问,那么它也应该适用于非静态内容的情况

标签: java


【解决方案1】:

例如,您必须使用方法getClass()

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

【讨论】:

  • 但这是否意味着“.class”是静态访问的,如果是这样,那么为什么类的实例不能访问它们....考虑下面的代码:class enthrian{跨度>
猜你喜欢
  • 2013-09-03
  • 1970-01-01
  • 2018-01-02
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
相关资源
最近更新 更多