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;//向下转型的目的是为了使用子类中的特有方法

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

  • 相关阅读:
    有限制的最大连续和问题
    Codevs 5056 潜水员
    Codevs 1958 刺激
    Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
    [NOIP2014]解方程
    Codevs 3729 飞扬的小鸟
    Codevs 1689 建造高塔
    Codevs 2102 石子归并 2
    C语言基础之进制的那些事(1)
    指针
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2735802.html
Copyright © 2011-2022 走看看