问题有点绕口。
我试着用例子说明:abstract class A {
//
public void method() {
//
}
//
}
class B extends A {
//
public void method() {
//覆盖超类A中的同名方法
}
//
}
class C {
A sample = new B();
sample.method(); // 这儿想直接调用A中的method(),但是已被覆盖,怎么办???
}
将sample塑型为A类型似乎不可能,因为A是抽象的。
A,B都是别人写的,所以无法改动……
这时候还有办法吗?
我试着用例子说明:abstract class A {
//
public void method() {
//
}
//
}
class B extends A {
//
public void method() {
//覆盖超类A中的同名方法
}
//
}
class C {
A sample = new B();
sample.method(); // 这儿想直接调用A中的method(),但是已被覆盖,怎么办???
}
将sample塑型为A类型似乎不可能,因为A是抽象的。
A,B都是别人写的,所以无法改动……
这时候还有办法吗?
class D{
A a;
B b; public D(){
A a = new A();
B b = new B();
}
public void method1(){
a.method();
}
public void method2(){
b.method();
}
}
不知这样符合你的要求不~
class D extends A{
public void method(){
super.method();
}
}