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("猫喜欢吃鱼");
        }
    }
  • 相关阅读:
    【转载】Java嵌入Pig编程
    【转载】Pig语法进阶
    【转载】各种SQL在PIG中实现
    机器学习简易入门(三)
    机器学习简易入门(一)
    在Centos7上安装漏洞扫描软件Nessus
    R简易入门(二)
    R简易入门(一)
    Mysql主从同步(复制)
    Mysql备份与恢复
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5342827.html
Copyright © 2011-2022 走看看