Java 代码 不明白为什么会给出错误?



这里我创建了两个类A和prac2,我只是想从这两个类中打印方法。但是A类的错误类型已经定义了。所以我不明白为什么会出现错误

package revision;

public class Prac2 extends A {
public void m() {
System.out.println("child");
}

public static void main(String[] args) {
A obj1 = new Prac2() ;
Prac2 obj2 = new Prac2() ;
obj1.m();
obj2.m();

}
}
class A {
public void m() {
System.out.println("parent") ;
}
}
Exception in thread "main" java.lang.NoSuchMethodError: 'void revision.A.m()'
at revision.Prac2.main(Prac2.java:13)
The type A is already defined

你的代码似乎没有任何例外,但它会打印:

孩子

孩子

您从A扩展Prac2,这意味着A是超类,如果您想访问这两个方法,您应该从A创建实例:

class Prac2 extends A {
public void m() {
System.out.println("child");
}
public static void main(String[] args) {
A obj1 = new A() ;
A obj2 = new Prac2() ;
obj1.m();
obj2.m();
}
}
class A {
public void m() {
System.out.println("parent") ;
}
}

的输出将是:

父母

孩子

相关内容

最新更新