【发布时间】:2014-11-17 19:06:16
【问题描述】:
以下代码无法编译(使用 eclipse Luna):
public class Main {
public static void main(String[] args) {
java.lang.Object Object = new java.lang.Object(); // Error line
System.out.println(Object.class);
}
}
class java {
static lang lang;
}
class lang {
static Object Object;
}
class Object {
static java java;
}
Eclipse 自动建议我“在 'java.lang' 类型中创建类 'Object'”...
(我确实在构建路径中有 JRE)。
那么,我的代码有什么问题?
编辑:
错误出现在声明和实例化语句中。
编辑 2:
实例化java 仍然会产生同样的错误:
public class Main {
public static void main(String[] args) {
java java = new java();
java.lang.Object Object = new java.lang.Object();
System.out.println(Object.class);
}
}
class java {
static lang lang = new lang();
}
class lang {
static Object Object = new Object();
}
class Object {
static java java = new java();
}
【问题讨论】:
-
嗯.. 为什么不呢?声明
java.lang.Object实例有什么问题? -
删除底部的
java、lang和Object类——你很困惑——这些是不需要的。 -
java和lang是包。而Object已经作为一个类存在。我认为您需要更多地了解 Java 中的类和对象是如何工作的。 -
我知道有包,但我仍然可以将类名声明为与包名相同,不是吗?
-
@Elist 你为什么要这样做?您在这里提出重大问题。此外,你的类中的静态变量都是空的。这可能会导致问题。你的课程是循环的。
java包含lang包含Object包含java包含lang... 等等。这也可能导致问题。你到底想在这里做什么?如果我们知道您的目标,我们可以提供更好的帮助。
标签: java eclipse object compiler-errors