刚看到一句代码:runnable b = new car( );
不明何解,那对象b到底是实例化类car,还是定义接口实例runnable呢?
    还有这句代码 SuperClass a = new SubClass();
//我的理解是实例化一个SubClass对象,但可不可以实例一个SuperClass对象用 
SubClass a = new SuperClass;呢?

解决方案 »

  1.   

    runnable b = new car( );
    类的多态性,接口变量可以引用它的子类
    好象是这样的吧,我也才学不久,说错了不要怪我哈
      

  2.   

    Runnable是一个接口,接口在java中只是指向内存空间的一个引用,没有实际的对象值,Runnable b = new Car( );的意思就是新分配一个Car()对象,让b指向这个对象,属于向上转型,会丢失被转型对象的型别信息,向下转型是不能通过编译的,第二个你也这么理解就行了