本人初学,希望得到指导!!谢谢
昨天看见的一个例子很不理解,A c=new B(); A是一个类,B是另外一个类,c是也对象。
我觉得是要象不可能的啊。
为什么声明c是A的对象,后面又用了另一个类来分配内存空间。
  

解决方案 »

  1.   

    这是 多态 父类或者 父接口的引用 实际指向 子类的对象
    比如:水果 c = new 苹果();自己好好想想
      

  2.   

    A c = new B();
    意思是:
    声明了一个名为c的对象,它的类型是A,该对象是调用了B的构造方法 ( new B() ) 来创建它的.
    在这里A与B要有一定的关系,如A是B的基类,或A是接口,B是A的实现类等
      

  3.   

    这里的类B是类A的实现类
    或者说B应该是类A的子类
    就像C++中的指针
    父类的指针是可以指向子类的对象的
    这里变成了引用而已
      

  4.   

    补充个例子 List temp = new ArrayList();
      

  5.   

    B继承于A,这种方法可以用A的一个对象动态执行其子类重写的方法
      

  6.   

    这、貌似是基类指针指向派生类对象,c 是A 中的对象,但是在内分配上利用了B来分配空间
      

  7.   

    B继承A
    c是B对象的上转型对象
      

  8.   

    只要B是A的派生类
    或者A是B的接口那这样申明就是完全正确的
      

  9.   

    人 R = new 男人();男人是人 
    人不一定是男人 嘿嘿 多态
    B是A的子类