首页 > 编程语言 > 详细

java多态---ABC案列

时间:2016-07-12 15:27:05      阅读:183      评论:0      收藏:0      [点我收藏+]

  

class A{
    public void show(){
        show2();
    }
    public void show2(){
        System.out.println("我");
    }
}
class B extends A {
    /*
    public void show(){
        show2();
    }
    */
    public void show2(){
        System.out.println("爱");
    }
}
class C extends B{
    public void show(){
        super.show();
    }
    public void show2(){
        System.out.println("你");
    }
}
public class DuoTaiTest4{
    public static void main(String[]args){
        A a=new B();
        a.show();
        
        B b=new C();
        b.show();
    }
}

  总结:

    多态的成员访问特点:

       方法:编译看左边,运行看右边。

    继承的时候:

       子类中有和父类中一样的方法,叫重写。

       子类中没有父类中出现过的方法,方法就被继承过来了。

    a.show( );

       编译时看左边,a中有show()方法,编译时不会出错,运行时要运行B中的show方法。

        (B中虽然没有写出show方法,但其实已经把A中的show继承过来了!)

    b.show();

         运行看右边:   

              public void show(){
                      super.show();
                }
       而super调用的是父类B中的show方法,B中show中又调用show2(),虽然B中也有show2(),但不要忘记,我们实际上创建的是 C 的对象,(new C( );)最后运行要看右边,不要忘记了。
                    public void show(){
                          show2();
                      }
          
以上。

java多态---ABC案列

原文:http://www.cnblogs.com/huangytao/p/5663404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!