问下创建对象问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 18:55:53
A a = new B();
A为父类,B为子类,我想问下这样创建有什么用?
怎么用?在什么情况下才这样?

父类引用指向子类对象...同样的情况也可以用接口实现

比如:接口声明的引用指向实现接口的类的对象.

这样做得好处可以提高编程的灵活性,降低维护的难度..举个简单的例子

List接口有个子类ArrayList..

我们在使用ArrayList对象的时候可以这样做

List list=new ArrayList();

当有一天有另一个实现了List接口的类比如名叫NewList比ArrayList更符合我们的使用,取代了ArrayList类型.这时,我们需要对我们的代码进行修改

只需修改一触即可,即将
List list=new ArrayList();
改为List list=new NewList();
就行了

这为编程提供了极大的灵活性,也方便了维护...~

除了楼上各路兄弟所说外再补充下:
类型的约束
public void test(A a){
//.....
}
因此该方法可传入A的子类,提高了灵活性

具体涉及到Java多态的知识,我就不多说了,你可以去翻下书。
这样用的最多的情况就是接口实现。A为接口,B为实现类。这样新建一个对象a,外界只会调用a提供的接口,不用知道具体是怎么实现的。

这是多态,去翻书吧

JAVA多态