zoukankan      html  css  js  c++  java
  • Java多态的体现之继承

    /**
     * 
     * 功能:演示多态
     */
    package com.litao;
    
    public class Demo5 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //体现多态
            /*Cat cat1 = new Cat();
            cat1.cry();
            
            Dog dog = new Dog();
            dog.cry();*/
            //自动判断右边引用是什么类型的
            //所有子类或孙子类的实例统统让一个父类来引用
    //        Animal animal = new Cat();
    //        //如果猫有cry方法,则调猫的cry,否则调Animal的cry
    //        animal.cry();
    //        
    //        animal = new Dog();
    //        animal.cry();
            
            Master master = new Master();
            master.feed(new Dog(), new Bone());
            master.feed(new Cat(), new Fish());
        }
    }
    
    //主人类
    class Master{
        //给动物喂食物
        public void feed(Animal an, Food f)
        {
            an.eat();
            f.showName();
        }
    }
    
    class Food{
        String name;
        public void showName()
        {
            
        }
    }
    
    class Fish extends Food{
        public void showName()
        {
            System.out.println("鱼");
        }
    }
    
    class Bone extends Food{
        public void showName()
        {
            System.out.println("骨头");
        }
    }
    
    
    
    //动物类Animal
    class Animal
    {
        String name;
        int age;
        
        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 cry()
        {
            System.out.println("不知道怎么叫...");
        }
        
        public void eat()
        {
            System.out.println("不知道喜欢吃什么");
        }
    }
    
    class Dog extends Animal
    {
        //猫自己叫
        public void cry()
        {
            System.out.println("旺旺叫");        
        }
        
        //动物可以吃东西
        public void eat()
        {
            System.out.println("狗喜欢吃骨头");
        }
    }
    
    class Cat extends Animal
    {
        //猫自己叫
        public void cry()
        {
            System.out.println("猫猫叫");        
        }
        
        public void eat()
        {
            System.out.println("猫喜欢吃鱼");
        }
    }
  • 相关阅读:
    Myeclipse 安装svn插件
    Http状态码详解
    myeclipse中的js文件报错
    eclipse 反编译插件安装
    ecshop绕过验证码暴力破解
    Myeclipse中全部文件设置成UTF-8
    WampServer phpadmin apache You don't have permission to access
    如何在Win8系统上建立WIFI热点
    记录远程桌面登录者的IP和MAC
    数据库总结
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5342827.html
Copyright © 2011-2022 走看看