多态与类型转换有什么区别?

解决方案 »

  1.   

    Here is my understanding, maybe not correct:Casting belongs to compiler-time, and Polymorphism belongs to run-time.
      

  2.   

    晕,, 写了那么多   竟然报错  还保存不了,,,,  CSDN   我伤心了 。 
    == 我整理好了 再写上来吧, 楼主要等下。
      

  3.   

    JAVA 的 最大特点多状啊~~  多态通过 继承 方法复写 子类当做父类用 来体现
      

  4.   


    昨日写了些,提交竟然报错 哭ed...我只发表下自己的看法,不对的地方,请大家指正,谢谢。关于转换,我分为以下几点,我想不全,但我用到的, 也就是这些。1 简单类型转换
      eg: float double short int ....之间的转换,包括了 signed 和unsigned   只要注意是 explicit 还是 implicit 的就好  再有就是转换后,是否有“误差”, 比如 截断 等。
     
    2 引用类型转换 
      最多的就是  string
      我这里说的是,简单值类型  和 引用类型的转换 不是那种  base class object 和 sub class object 的转换
      eg:  字符串 "1900/01/01"  转换 为日期型的  data  1900/01/01   3 boxing & unboxing
      事实上,boxing 和 unboxing 属于上面说的 值类型和引用类型的转换, 这里单独那出来说一下。
      boxing      值类型 --〉引用类型
      unboxing    引用类型--〉值类型  这里要注意一点:boxing   unboxing      just copy the but don't change
                    只是copy数据到新的对象上,而不会影响原来值类型的内容
      
    4 Generic
      关于generic的优点我就不说了,这里提出来 就是想告诉大家, generic 可以这样提高程序的性能 --- 避免 boxing 和 unboxing.5  is  &  as
       is  检查不同object间的兼容性
        as  执行引用类型的显示类型转换  多态: 上面的回帖也说了
     
    多态和类型转换最大的不同就在于:
                                       时间!
    前面提到的类型转换 发生在编译阶段
    多态指针,发生在 运行阶段,  即: 运行时多态

    在面试来说, 只要说了上面两句话,足以
      

  5.   

    一个编译器banding
    一个运行时banding
      

  6.   

    如果仅仅是说多态和类型转换的区别   已经说的很清楚了 
    我在18楼说的, 很多是类型转换===目的在于告诉大家, 并不是只有 类似  int 到  long   或者  子类到父类 这样的才会出现类型转换,
    我罗列了会出现类型转换的多种情况.共同进步!
      

  7.   

    我的理解就是多态就是实现接口,不通的实现类会有不同的调用,但是当在一个类中使用多个实现类的话可以用接口来引用。
    类型转换就是数据类型的转换或者对象类型的转换。
    再google一下吧