当前位置: 首页 > article >正文

Java中的animal类

一.先创建一个Animal类

 代码如下:

public class Animal {
    private String name;
    private 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 speak(){
        System.out.println(name + "今年"+age+"岁了。");

    }
    public void move() {
        System.out.println(name+"在动……");
    }
    public void eat(){
        System.out.println(name+"在吃……");
    }

    @Override
    public String toString() {
        return "Animal{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

二.Animal类里面的Cat,Dog,Bird

Cat:

代码如下: 

public class Cat extends Animal {
    /**
     * 子类改写父类的同名同参方法
     */
    @Override
    public void move(){
        System.out.println("猫咪["+getName()+"]在走路。");

    }
    /**
     * 子类改写父类的同名同参方法(纵向多态)
     */
    @Override
    public void eat(){
        System.out.println("猫咪["+getName()+"]爱吃鱼虾。");
    }
    /**
     * 子类添加新的方法
     */
    public void play(){
        System.out.println("猫咪["+getName()+"]正在玩老鼠");
    }
}

Dog:

 代码如下:

public class Dog extends Animal{
    /**
     * 子类改写父类的同名同参方法
     */
    @Override
    public void move(){
        System.out.println("狗仔["+getName()+"]在奔跑。");

    }
    /**
     * 子类改写父类的同名同参方法(纵向多态)
     */
    @Override
    public void eat(){
        System.out.println("狗仔["+getName()+"]爱吃大骨头。");
    }
    /**
     * 子类添加新的方法
     */
    public void play(){
        System.out.println("狗仔["+getName()+"]正在玩球球");
    }
}

Bird:

 代码如下:

public class Bird extends Animal{
    /**
     * 子类改写父类的同名同参方法
     */
    @Override
    public void move(){
        System.out.println("小鸟["+getName()+"]在跳跃。");

    }
    /**
     * 子类改写父类的同名同参方法(纵向多态)
     */
    @Override
    public void eat(){
        System.out.println("小鸟["+getName()+"]爱吃虫子。");
    }
    /**
     * 子类添加新的方法
     */
    public void play(){
        System.out.println("小鸟["+getName()+"]正在到处飞");
    }
}

三.创建Student

代码如下: 

public class Student1 {
    public String name;

    public String getName() {
        return name;

    }
    public void setName(String name) {
        this.name = name;

    }
    public void feed(Animal animal) {
        if (animal instanceof Cat) {//判断是否是猫实例
            System.out.println(name + "喂养猫咪[" + animal.getName() + "]。");
        } else if(animal instanceof Dog) {//判断是否是狗实例
            System.out.println(name + "喂养狗狗[" + animal.getName() + "]。");
        } else if(animal instanceof Bird) {//判断是否是鸟实例
            System.out.println(name + "喂养鸟鸟[" + animal.getName() + "]。");
        } else {
            System.out.println(name + "喂养动物[" + animal.getName() + "]。");
        }
        animal.move();//体现多态
        animal.eat();//体现多态

    }
}

四:创建TestStudent

 代码如下:

public class TestStudent {
    public static void main(String[] args) {
        //创建学生对象
        Student student = new Student();
        student.setName("张力文");

        //创建第一个动物
        Animal animal1=new Cat();
        animal1.setName("文雅兰");
        animal1.setAge(19);

        //创建第二个动物
        Animal animal2 = new Dog();
        animal2.setName("邹雪森");
        animal2.setAge(19);

        //创建第三个动物
        Animal animal3 = new Bird();
        animal3.setName("何妃");

    }
}

自己动手看看RUN的效果吧!

http://www.lryc.cn/news/2416037.html

相关文章:

  • 变形乘法口诀表_43组“数学顺口溜”+大九九乘法口诀表!孩子再也不怕数学!(建议收藏)...
  • 适合国人的常用的Cydia源地址搜集
  • QQ五子棋外挂实现
  • 技术支持程序员程序书写规范
  • JavaWeb航空购票系统的设计与实现
  • 5中打开safari_iPhone自带Safari浏览器,你真的会用吗?
  • 亲完如何进行下一步_接吻进阶指南,提出接吻,亲吻技巧,约会后怎么接吻
  • 面试时最经常被问到的问题(Frenquently asked interview questions)(I)
  • 虚拟机网络配置和连接
  • 《体育生的集体生活》用户隐私政策
  • 如何让自己的博客被搜索引擎收录
  • 2024年网安最全速看!成为黑k必看13个网站,简称网站大全!_红黑联盟官方网站
  • Android开发——MediaProvider源码分析 .
  • 【转】 XenServer的架构
  • System系统类和Environment环境抽象
  • 有限元分析中的常识(持续更新)
  • MacBook Pro(13 英寸,2011 年末)A1278 官方最高支持macOS High Sierra,使用macOS Catalina Patcher成功安装macOS Catalina
  • 电脑一拖二
  • 时间函数大全
  • 上网行为管理排行榜_上网行为管理|电脑监控软件
  • 【SNS专题】大型SNS类游戏服务器架构
  • html5 app 打包,手机h5网站如何快速打包做成APP?
  • 【毕设教程】单片机控制步进电机
  • 关于mediaplayer
  • 电力电子入门(一)
  • 怎么做一个定时消息提醒_下班后怎么设置企业微信消息不提醒?客户会看到我的在线状态吗?...
  • python刷阅读_Python 刷高博客阅读量
  • 从LayoutParams说起到代码动态布局
  • 基于FFmpeg的Dxva2硬解码及Direct3D显示(三)
  • 10个可爱的外国互动型网站