delphi中
(汽车类型)B (汽车类型变量)obj=
  new (此处可以是<1>抽象的汽车类B,也可以是具体的某种汽车类B'<比如说轿车类
BBb\>) A();

解决方案 »

  1.   

    就如这样,我定义了一个Thread的子类subThread
    实例化的时候我指定一个新的对象A:Thread A=new subThread()
    因为subThread是Thread的子类,所以可以用Thread来声明A
    当然,你用subThread来声明A也是可以的,这里的声明只是指定A的类型而已
      

  2.   

    B一般来说,最好的是A得借口,而不是A的父类
    因为这样可以动态的换掉B,而不是依赖,具体的B,
    编程要依赖接口,尽量不要依赖具体的类!
      

  3.   

    B是A的父类,A的方法覆盖B的方法
      

  4.   

    B obj = new A();A()是B的构造函数
      

  5.   

    B是 obj的静态型别
    A是 obj的动态型别
    B类型在程序运行中存放在栈中,A类型信息则存放在堆中。
      

  6.   

    这里可以有三种情况。
    1、B是A的父类。
    2、B是一个抽象类,而A是该抽象类的一个实现。
    3、B是一个接口,而A是一个实现了该接口的类。
      

  7.   

    我不同意JetGeng(Geng)说的第2条说法:B是一个抽象类,而A是该抽象类的一个实现。
    抽象类是不能被实例化的,我个人认为,A是B的一个内隐类,这里发生了A到B的“向上转型”,这样做B无法碰触到A的内部实现细节,但可以把A类型的对象当作B类型来用。