使用Child类Reference创建Parent类的实例

use*_*009 1 java inheritance

为什么我们不能使用Child类Reference指向Parent类对象.

class Abc
{
    public void Message()
    {
        System.out.println("Abc");  
    }
}

class pqr extends Abc
{
    public void Message()
    {
        System.out.println("pqr");  
    }   
}

class test1
{
    public static void main (String [] ars)
    {
        Abc a = new Abc();  
        a.Message();
        Abc b = new pqr();
        b.Message();
        pqr c = new pqr();
        c.Message();
        //pqr d =  new Abc();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如果Abc b = new pqr();可能,那么为什么不呢pqr d = new Abc();(因为pqr是一个子类,它将具有父类的所有功能.)

我只想检查如果我正在做d.Message()什么,它将打印是否为父类方法或子类方法.

谢谢

mok*_*mok 9

简单,每只狼都是动物,但不是每只动物都是狼.

所以Abc b = new pqr()有效但pqr d = new Abc()无效.