zoukankan      html  css  js  c++  java
  • 细说多态

    多态:

    多态在代码中的体现:父类或者接口的引用指向其子类的对象。

    多态代码演示:

     1 public class NeiBu {
     2     public static void main(String[] args) {
     3         System.out.println("Hello,This is Function main...");
     4         method(new Dog());
     5     }
     6 
     7     public static void method(Animal a){//Animal a = new Dog();
     8         a.eat();
     9     }
    10 }
    11 
    12 abstract class Animal{
    13     public abstract void eat();
    14 }
    15 
    16 class Dog extends Animal{
    17     public void eat(){
    18         System.out.println("吃面条");
    19     }
    20 }
    21 class Pig extends Animal{
    22     public void eat(){
    23         System.out.println("吃饲料");
    24     }
    25 }


    自动类型提升:(专业讲:向上转型)

    Animal a = new Dog();//自动类型提升,猫对象提升到动物类型。这个时候应该按照动物类型操作,不能访问这个猫子类的特有功能。

    作用:限制对特有功能的访问

    向下转型:Dog d = (Dot)a;//向下转型的目的是为了使用子类中的特有方法

    注意:对于转型,自始自终都是子类对象在做着类型的变化。

  • 相关阅读:
    shell脚本基础
    rtsp冷门解释
    C++基础之动态内存
    树莓派3安装ros
    Trie树
    [LeetCode]The Skyline Problem
    [LeetCode]Implement Trie (Prefix Tree)
    C++基础之适配器
    配置树莓派3的openwrt中的网络
    [LeetCode]Self Crossing
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2735802.html
Copyright © 2011-2022 走看看