• 多态(用继承)


    package com.qingfeng;
    /**
     *
     * @author Administrator
     *功能:多态:一个对引用(类型)在不同情况的不同状态  (关键父类的引用 方法的重写(覆盖))
     */
    public class Demo4_1 {

        public static void main(String[] args) {
            /*
            Animal an = new Cat();
            an.show();
            an = new Dog();
            an.show();*/
            
            Master master = new Master();
            master.feed(new Cat(), new Fish());
            master.feed(new Dog(), new Bone());
            
        }

    }

    class Animal
    {
        String name;
        int age;
        //generate Getters and Setters
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
        public void show()
        {
            System.out.println("我也不知道我是什么");
        }
        
    }

    class Cat extends Animal
    {
        String name;
        
        public void show()
        {
            System.out.println("我是猫猫!");
        }
    }

    class Dog extends Animal
    {
        String name;
        
        public void show()
        {
            System.out.println("我是狗狗!");
        }
    }

    class Food
    {
        String name;
        
        public void showFood()
        {
            
        }
    }
    class Fish extends Food
    {
        String name;
        
        public void showFood()
        {
            System.out.println("吃鱼");
        }
    }

    class Bone extends Food
    {
        String name;
        
        public void showFood()
        {
            System.out.println("吃骨头!");
        }
    }

    //运用多态 只用写一个方法即可  再增加子类对象 本方法不用改变,只需通过父类的引用即可~
    class Master
    {
        public void feed(Animal an, Food fo)
        {
            an.show();
            fo.showFood();
        }
    }



















  • 相关阅读:
    Jenkins系列之二——centos 6.9 + JenKins 安装
    查看linux系统是运行在物理机还是虚拟机方法
    Java 的不可变类 (IMMUTABLE CLASS) 和 可变类 (MUTABLE CLASS)
    Java中的mutable和immutable对象实例讲解
    理解Java中的引用传递和值传递
    深入理解Java中的Clone与深拷贝和浅拷贝
    java Clone使用方法详解
    Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨
    赏美-第[001]期-20190504
    赏美-第[000]期
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6478992.html
Copyright © 2020-2023  润新知