隐式超级构造函数object()未定义。必须显式调用另一个构造函数

时间:2013-06-21 17:05:54

标签: java eclipse

这是一个新错误吗?我有一台新的Mac电脑和install eclipse on it。校验和匹配正常。但是当我尝试创建一个简单的类时,只是为了进行基本测试,我得到了标题中提到的错误。我从未见过java抱怨object()构造函数。这是班级:

package com.my.ok;

public class First {

}

编辑:

如果我将execution environment设置为javaSE-1.7

,我发现问题就出现了

enter image description here

5 个答案:

答案 0 :(得分:89)

如果项目JRE

中未配置built path.,则会出现此问题

配置JRE:

在Eclipse中:

  • 右键点击您的项目,然后选择Build Path - > Configure Build Path
  • 转到Libraries tab点击Add Library
  • 选择JRE System Library点击Next
  • 然后根据您的要求从选项中选择JRE。点击Finish

在Netbeans中:

  • 右键单击项目并选择Properties
  • 在图书馆类别中,根据您的要求选择Java Platform
  • 然后转到源类别选择Source/Binary Format并根据您的要求选择JDK。

<强>解释

错误是因为您没有在项目中包含系统库,并且您的类无法找到在创建对象时在层次结构中首先调用的Object()构造函数。

示例:

package com.my.ok;

public class First {

}

compiler默认情况下First课程延伸至Object课程

package com.my.ok;

public class First extends Object {

}

但在您的案例中找不到Object类,而您收到此错误。

答案 1 :(得分:1)

如果您的项目是maven项目,请尝试 mvn clean install 命令。它对我有用。

答案 2 :(得分:1)

转到buildPath,然后在库中双击JRE System Libraries,然后选择“默认”工作区。

答案 3 :(得分:0)

这是Java Web项目中JRE配置的一个典型问题。右键单击您的项目,选择“构建路径”和“配置构建路径”。在“库”选项卡中,双击“ JRE系统库”,然后选择工作区“默认”工作区。如果您尚未安装,请按照上面的步骤进行安装。

答案 4 :(得分:0)

我遇到了同样的问题,然后我改变了我安装的 JRE 并指向 jdk,它对我有用。

Eclipse -> Windows -> Preferences -> Java -> Installed JRE -> Add new (给出已安装java jdk的路径)