1、子类对象转化为父类对象后,能调用子类中新增的属性及方法吗?2、子类中覆写了父类的某个方法,那么当子类对象转为父类对象后,调用这个方法时,所调用的是子类中的还是父类中的?

解决方案 »

  1.   

    1 不能
    2 子类
    测试代码:public class Test {
    public static void main(String[] args) {
    Son s = new Son();
    Parent p = (Parent)s;
    p.print();
    //p.foo();
    }
    }
    class Parent{
    void print(){
    System.out.println("parent print");
    }
    }
    class Son extends Parent{
    void print(){
    System.out.println("son print");
    }
    void foo(){
    System.out.println("son foo()");
    }
    }