我正在使用netBeans 7.3.1并获取错误*类型*的非法启动,即使我已将super()写为第2类的第一行。
package javaapplication9;
class class1 {
class1() {
System.out.print("class1 constructor");
}
void msg() {
System.out.println("Hello class1");
}
}
class class2 extends class1 {
super();
void msg() {
System.out.println("Hello class1");
}
}
public class JavaApplication9 {
public static void main(String[] args) {
class1 obj = new class1();
obj.msg();
}
}
答案 0 :(得分:3)
你忘记了构造函数。
class class2 extends class1 {
class2() {
super();
}
void msg() {
System.out.println("Hello class1");
}
}
答案 1 :(得分:2)
它应该位于子类的构造函数中。
class class2 extends class1 {
class2() {
super();
}
因此,当您创建子类对象时,它会调用您的超类构造函数。