芙蓉雨的主题意思:这个java程序在运行时怎么就报错了?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 05:07:05
class Base{
void test(){
System.out.println("Base.test()");
}
}

public class Child extends Base{
void test(){
System.out.println("Child.test()");
}

static public void main(String[] args){
Child anObj=(Child)new Base();
anObj.test();
}
}
还有这个,其结果怎么不是Child.test()

class Base{
void test(){
System.out.println("Base.test()");
}
}

public class Child extends Base{
void test(){
System.out.println("Child.test()");
}

static public void main(String[] args){
Object anObj=new Base();
((Base)anObj).test();
}
}

Child anObj=(Child)new Base();
向下转型是不允许的,因为父类是不知道子类有什么方法的,怎么调用呢?

报什么错?可以PM我

还有:
下面
Object anObj=new Base();
((Base)anObj).test();

都表明是实例化父类,但是输出父类的test()了