多态

class Base
{
    public void method()
    {
        System.out.println("Base");
    }
}
class Son extends Base
{
    public void method()
    {
        System.out.println("Son");
    }

    public void methodB()
    {
        System.out.println("SonB");
    }
}
public class Test01
{
    public static void main(String[] args)
    {
        Base base = new Son();
        base.method();
        base.methodB();
    }
}
这句new 了一个子类,赋值给父类,所以下面的操作编译器认为base对象就是Base类型的
Base类中不存在methodB()方法,所以编译不通过
要想调用的话需要先通过SON son=(SON)base;强制转换,然后用son.methodB()调用就可以了。

多态编程:编译看左边运行看右边

发表评论

邮箱地址不会被公开。 必填项已用*标注