是的,你可以做到.
在包a中定义A:
package a;
public class A {
void method1() {
System.out.println("A1");
}
public void method2() {
method1();
System.out.println("A2");
}
}
在包b中定义B:
package b;
import a.A;
public class B extends A {
@Override public void method2() {
super.method2();
System.out.println("B2");
}
void method1() {
System.out.println("B1");
}
}
将测试放入包a并运行它.结果是A1 / A2 / B2.当然这是不健康的:注意方法1上必要的@Override遗漏 – 如果你把它放回去,你将得到编译器错误:
method does not override or implement a method from a supertype