美文网首页
JAVA里的多态机制(一)

JAVA里的多态机制(一)

作者: 唐朝早晨 | 来源:发表于2018-07-03 21:38 被阅读0次

    写在前面
    在学习java基础时发现多态机制有点难理解。所以写一篇文章来记录对多态机制的理解,希望看到这篇文章的大佬们发现有问题的地方可以提提意见谢谢~~~~~


    向上转型

    概念

    把对某个象的引用视为对其基类型的引用的做法被称为向上转型。(Thinking in Java )

    个人见解

    有一个子类Son继承自父类Father.子类Son 的一个对象的引用指向父类Father的一个对象的引用father。
    father = son(这就是一个向上转型)详细代码如下:

    /**
     * @author lichen
     * 多态实例
     */
    //: ~polymorphic/com.rootchen.poly/PolyTest.java
    package com.rootchen.poly;
    class Father{
        public void show() {
            System.out.println("父类中的show方法");
        }
    }
    
    class Son extends Father{
        //重写父类show方法
        public void show() {
            System.out.println("子类中的show方法");
        }
    }
    
    public class PolyTest {
        public static void main(String[] args) {
            //向上转型
            /*Father father = new Father();
            Son son = new Son();
            father = son;           //子类对象的引用赋值给父类对象的引用
            father.show();*/
            Father son = new Son(); //子类对象赋值父类对象的引用         
            son.show();
        }
    }  /*  output:
    子类中的show方法
    *///:~
    

    1、之所以子类对象或者子类对象的引用可以赋值给父类对象,是因为通过继承其实子类Son就是父类Father的一种,类似于方形圆形都是几何图形一样。
    2、之所以输出的结果是子类中的show方法是因为后期绑定(多态) 正确的调用了子类中的show方法。虽然看着是父类的引用调用的show方法,实质父类引用指向的对象类型是子类对象,所以调用的是子类的show方法。


    方法的调用绑定

    概念

    将一个方法调用同一个方法主体关联起来被称为绑定。若在程序执行前进行绑定叫做前期绑定,C的调用方法就是前期绑定。
    在运行时根据对象类型进行绑定叫做后期绑定。(Thinking in Java)

    相关文章

      网友评论

          本文标题:JAVA里的多态机制(一)

          本文链接:https://www.haomeiwen.com/subject/tbzluftx.html