zoukankan      html  css  js  c++  java
  • java之多态(Polymorphic)、动态绑定(Dynamic Binding)、迟绑定(Late Binding)

    今天,我们来说说java面向对象最核心的东西,多态。通过多态可以使我们的程序可复用性达到极致,这就是我们为什么要学多态的原因。

    “多态”(Polymorphic)也叫“动态绑定”(Dynamic Binding)同时也叫“迟绑定”(Late Binding)。

    动态绑定是指“在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际类型调用其相应的方法。”

    程序代码:

    public class TestPolymorphic{
        public static void main(String args[]){
        
            Animal animal = new Animal("animal");
            Cat cat = new Cat("cat","blue");
            Dog dog = new Dog("dog","black");
            
            Lily l1 = new Lily("l1",animal);
            Lily l2 = new Lily("l1",dog);
            
            l1.myAnimalEnjoy();
            l2.myAnimalEnjoy();
        }
    }
    class Lily{
        private String name;
        private Animal animal;
        public Lily(String name, Animal animal){
            this.name = name;
            this.animal = animal;
        }
        public void myAnimalEnjoy(){
            animal.enjoy();
        }
    }
    class Animal{
        private String name;
        public Animal(String name){
            this.name = name;
        }
        public void enjoy(){
            System.out.println("叫声~~~");
        }
    }
    class Dog extends Animal{
        
        private String forlorColor;
        public Dog(String name,String forlorColor){
            super(name);
            this.forlorColor = forlorColor;
        }
        public void enjoy(){
            System.out.println("dog叫声~~~");
        }
    }
    class Cat extends Animal{
        
        private String eyesColor;
        public Cat(String name,String eyesColor){
            super(name);
            this.eyesColor = eyesColor;
        }
        public void enjoy(){
            System.out.println("cat叫声~~~");
        }
    }

    程序运行结果:

    总结:通过以上示例,我们发现多态必备的三个条件1、有继承2、有重写3、父类引用指向子类对象

  • 相关阅读:
    [考试反思]0511省选模拟93:平衡
    [考试反思]0509省选模拟92:警示
    [考试反思]0508省选模拟91:小雨
    [考试反思]0507省选模拟90:信任
    [考试反思]0506省选模拟89:无事
    [专题总结]2-sat及题目&题解(3/5 complete)
    [考试反思]0505省选模拟88:滑稽
    [考试反思]0504省选模拟87:开花
    [考试反思]0502省选模拟86:恐惧
    [考试反思]0501省选模拟85:低落
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/4035077.html
Copyright © 2011-2022 走看看