java吧 关注:1,271,179贴子:12,780,477
  • 11回复贴,共1

父类 a = new 子类();

只看楼主收藏回复

这样做到底有什么意义?就是为了体现java的多态性?
直接子类 a = new 子类()也可以啊
到时候需要改变引用的时候直接 子类2 a = new 子类2();


IP属地:四川1楼2015-05-31 17:39回复
    多态 往后会理解的


    来自iPhone客户端2楼2015-05-31 18:06
    回复
      2025-07-26 13:12:38
      广告
      不感兴趣
      开通SVIP免广告
      后面根本不用你new,


      IP属地:广东来自Android客户端3楼2015-05-31 18:12
      收起回复
        class Father{
        private String name;
        get/set
        }
        class ChirldrenA extends Father{
        ...
        }
        class ChirldrenB extends Father{
        ...
        }
        class DemoClass{
        public static void method(Father father){
        syso(father.getName());
        }
        main{
        Father ca = new ChirldrenA("ca");
        method(ca);
        ca = new ChirldrenB("cb");
        method(ca);
        }
        }


        IP属地:福建4楼2015-05-31 19:19
        收起回复
          概念而已,,


          IP属地:湖北5楼2015-05-31 22:23
          回复
            重用性


            IP属地:浙江来自Android客户端6楼2015-05-31 22:35
            回复
              java尿性


              来自Android客户端7楼2017-08-26 20:16
              回复
                向上转型


                IP属地:湖北8楼2017-08-26 20:17
                回复
                  2025-07-26 13:06:38
                  广告
                  不感兴趣
                  开通SVIP免广告
                  面向对象设计原则:
                  里氏代换原则
                  父类类型虽然是个具体的class,在设计的角度看也是一种抽象。
                  任何父类类型适用的地方,子类类型也适用。
                  依赖倒转原则
                  依赖于抽象,而不是具体实现,代码之间的耦合弱,适用面广。


                  9楼2017-08-26 20:46
                  回复