implicit super constructor is
时间: 2023-05-01 12:05:04 浏览: 90
这句话是指在Java程序中使用了父类的构造方法,但是没有显式地调用父类的构造方法,因此编译器会自动调用父类的默认构造方法,如果父类没有默认构造方法,则会出现"implicit super constructor is undefined"的错误。
相关问题
implicit super constructor xxx
当一个类没有显式地定义构造函数时,Java 会自动生成一个默认的构造函数,该构造函数会调用父类的无参构造函数。但是,如果父类没有无参构造函数,那么在子类的构造函数中就会出现 "implicit super constructor xxx is undefined" 的错误提示,这是因为子类必须显式地调用父类的一个构造函数,以便正确地初始化父类的状态。你可以使用 super 关键字在子类的构造函数中显式地调用父类的构造函数来解决这个错误。
Implicit super constructor Controller() is undefined. Must explicitly invoke another constructor
这个错误通常发生在你尝试创建一个类的子类,而父类中没有无参数的构造函数。在Java中,如果你没有显式地定义构造函数,那么编译器会自动生成一个无参数的构造函数。但是,如果你在父类中定义了一个构造函数,并且没有定义一个无参数的构造函数,那么编译器将不会自动生成一个无参数的构造函数。这时候,如果你想创建一个子类对象,就必须在子类的构造函数中通过 super() 显式地调用父类的构造函数。
因此,要解决这个错误,你需要在子类的构造函数中调用父类的构造函数。如果父类中有一个带参数的构造函数,你需要在子类的构造函数中调用 super(param1, param2, ...) 来传递参数给父类的构造函数。如果你想在子类中定义一个无参数的构造函数,你需要在父类中定义一个无参数的构造函数,或者在子类的构造函数中通过 super() 调用父类的其他构造函数来避免这个错误。
阅读全文