java - 简单的Java代码无法编译- “Create class '中的 'java.lang'对象'”

标签 java eclipse object compiler-errors

以下代码无法编译(使用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的类,您已经更改了java.lang.Object的含义-因此,编译器现在将其视为在语义上不正确的东西,而不是将其视为java.lang.Object类的名称。

不要创建一个名为java的类。它破坏了一切。

关于java - 简单的Java代码无法编译- “Create class '中的 'java.lang'对象'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980008/

相关文章:

java.lang.ClassNotFoundException : javax. servlet.ServletContainerInitializer 异常

c++ - 有没有办法使用预先存在的对象作为 C++ 中第一个对象的子对象来创建对象?

ruby - Ruby 中对象的哈希/数组

java - 无法获得 SocketPermission 以使用 RMI

java - Spring boot 将 JSON 反序列化为多态类型

java - JRE升级到JDK后Eclipse无法启动

javascript - 递归地用另一个对象过滤一个对象

java - PHP和Java有什么区别?

java - 如何在JavaFx中移动工具栏中的图像

java - 使用 Yosemite Mac osX(Webstorm、intellij)使 Jetbrains 崩溃