JAVA中Base a=new Sub() a是sub的实例,但a是base类型的,这怎么理解?

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:16:46
哪位高手详细说下阿,感激不尽!

跟下面的代码相当:

Base a;

a= new Sub();

也就是声明一个父类对象a,然后新建一个子类对象指向a。

Base a 这是a的声明,表明a是Base类型的。

new Sub() 这是将Sub进行实例化。

Base a=new Sub() 表示创建一个新的 sub实例,并将这个实例赋值给Base类型的a

一个Sub类型的实例赋值给了一个Base类型的引用。