多态跟强制转换对象,有不可分割的关系,因为在实现多态之前就必须进行由下向上的强制转换对象。
第一:
有几个朋友说,所谓的强制转换对象,就是转换后是什么类型就能用谁的特性,可是如果它转的是抽象类呢??抽象类是没对象,按这么理解,我觉得这转换的对象本身的存在就存在问题~~~第二:
先假设这个基类不是抽象类,那么我觉得所谓的多态可能可以理解的方式(当然,这是我瞎想出来的,90%以上的几率可能是错误的理解)
1、这可不可以理解成一个小卖部,当我要去买苹果的时候我会跟店员说,我会要苹果。这里的货品就是子类。而这里向店员要求货品的这个行为就是多态,因为只有我向店员要什么,店员才会给我什么。或者类似,以基类为接口,把他的子类封装在这个基类里,然后通过基类的变量名来访问这些子类。
2、不知道派生类里的成员,可不可以被其他不相关的类调用(没做过实验)

解决方案 »

  1.   

    朋友好好看看借口吧
    抽象类是不可创建对象
    但是interface抽象类 允许向上转型
      

  2.   

    货品不是小卖部的之类,而是他的属性而已...超市继承小卖部,呵呵
    小卖部 (小卖部) = new 超市();可以使用之类的构造方法,去实例化父类,这就是多态,这里为什么要这么做呢?
      

  3.   

    多态就是一个对象有多种形态,就像你在公司是职员,在爹妈面前你是儿子,在老婆面前你是老公
    List list = new ArrayList();
    这个就是多态的一种形式
    list对外使用List类型,其实它是一个ArrayList
    JAVA资料太多?选中想收藏的文字(图片),右键选“收录到易载”,搞定!
      

  4.   

    多态,我的理解是 动态绑定  或是late binding