中文版原题:创建一个不包含任何方法的抽象类,从它那里导出出一个类,并添加一个方法。创建一个静态方法,可以接受一个指向基类的引用,将其向下转型到导出类,然后再调用该静态方法。在main()方法中,证实它的可行性。然后,将基类加上abstract声明,这样就不再需要进行向下转型。
这题弄了很久才明白它的意思。。。
实现代码如下
import static own.common.util.Print.println;
abstract class A{}
class B extends A{
void bprint(){println("hello B");}
}
abstract class C{
abstract void dprint();
}
class D extends C{
void dprint(){println("hello D");}
}
public class AbstractTest{
static void bprintTest(A base){
((B)base).bprint();
}
static void dprintTest(C base){
base.dprint();
}
public static void main(String[] args){
B b = new B();
D d = new D();
bprintTest(b);
dprintTest(d);
}
}
尊重原创,转载请注明来自:http://blog.csdn.net/euyy1029/article/details/52523339