这里我创建了两个类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") ;
}
}
的输出将是:
父母孩子