zoukankan      html  css  js  c++  java
  • Java 多态

    多态:对象的多种形态

    1.引用多态

    父类的引用可以指向本类的对象,也可以指向子类的对象

    例:

    class Animal{

    }

    class Dog extends Animal{    //继承是多态的实现基础~

    }

    class Initial{

    public static void main(String[] args){

    Animal obj1=new Animal();   //父类的引用可以指向本类的对象

    Animal obj2=new Dog();    //父类的引用可以指向子类的对象

    }

    }

    2.方法多态

    创建本类对象时,调用的方法为本类的方法 


    class Animal{

     public void eat(){

    System.out.println("动物具有吃的能力");

    }

    }

    class Dog extends Animal{    //继承是多态的实现基础~

     public void eat(){

    System.out.println("狗是吃肉的");

    }

    public void a(){            //不是从父类继承的,Dog子类独有的方法

    System.out.println("狗有看门的能力");

    }

    }

    class Cat extends Animal{

    }

    class Initial{

    public static void main(String[] args){

    Animal obj1=new Animal();   //父类的引用可以指向本类的对象

    Animal obj2=new Dog();    //父类的引用可以指向子类的对象

    Animal obj3=new Cat();

    obj1.eat();    //调用父类的方法

    obj2.eat();    //调用子类的方法

    obj3.eat();    //调用的是子类继承父类的方法

    obj2.eat();   //这是错的,不能通过父类的引用调用子类独有的方法

    }

    }

    输出:

    动物具有吃的能力

    狗是吃肉的

    动物具有吃的能力

    ---恢复内容结束---

  • 相关阅读:
    2018.08.02
    加油。
    2018.07.08
    2018.06.22
    LeetCode #169. Majority Element 数组 摩尔投票法
    LeetCode #119 Pascal's Triangle II 数组 滚动数组
    LeetCode #845 Longest Mountain in Array 数组 线性DP
    LeetCode #41 First Missing Positive 数组
    LeetCode #384 Shuffle an Array 数组 洗牌算法
    LeetCode #189 Rotate Array 数组 双变量 双指针
  • 原文地址:https://www.cnblogs.com/chenyuan7/p/8017394.html
Copyright © 2011-2022 走看看