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

运用instanceof判断Animal a是否为Dog类和是否为cat类

//Animal类(狗和猫的父类)

public  class Animal {
    private String color;
    private int age;

    public Animal(String color, int age) {
        this.color = color;
        this.age = age;

    }

    public Animal() {
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


    public void eat(String something)
    {
        System.out.println("动物在吃"+something);
    }
}
//cat类
public class cat extends Animal{

    public cat(String color, int age) {
        super(color, age);
    }

    public cat() {
    }

    @Override
    public void eat(String something){
        System.out.println(getAge()+"岁的"+getColor()+"颜色的猫眯着眼侧头吃"+something);
    }
    public void catchMouse(){
        System.out.println("猫在逮老鼠");
    }
}
//Dog类


class Dog extends Animal{

    public Dog(String color, int age) {
        super(color, age);
    }

    public Dog() {
    }

    public void lookHome(){

        System.out.println("狗在看家");
    }
    @Override
    public void eat(String something){
        System.out.println(getAge()+"岁的"+getColor()+"颜色的狗两只前腿死死抱住"+something+"猛吃");
    }
}

//人类

public class Person1 {
        private String name;
        private int age;

        public Person1() {
        }

        public Person1(String color, int age) {
                this.name = color;
                this.age = 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 keepPet(Animal a, String something) {
                if (a instanceof Dog) {
                        Dog d = (Dog) a;
                        System.out.println("年龄为" + age + "的" + name + "养了一只" + d.getColor() + "颜色的狗");
                        d.eat(something);
                }
                else if(a instanceof cat c)
                {
                        System.out.println("年龄为" + age + "的" + name + "养了一只" + c.getColor() + "颜色的猫");
                        c.eat(something);
                }
        }

}

//测试类

public class test1 {
    public static void main(String[] args) {
        Person1 p=new Person1();
        cat c=new cat();
        Dog d=new Dog();
        p.setAge(25);
        p.setName("张三");
        Person1 p1=new Person1();
        p1.setName("老李");
        p1.setAge(34);
        c.setAge(3);
        c.setColor("白色");
        d.setColor("黑色");
        d.setAge(2);
p.keepPet(d,"骨头");
p1.keepPet(c,"鱼");

    }

}

 

相关文章:

  • PQ1-6弯曲疲劳试验机
  • Python创意:AI图像生成
  • [特殊字符] 第十四讲 | 空间异质性检验与地统计局部指标(LISA)应用
  • 《AI大模型应知应会100篇》第13篇:大模型评测标准:如何判断一个模型的优劣
  • KWDB创作者计划—KWDB场景化创新实践:多模态数据融合与边缘智能的突破性应用
  • opensuse安装需要手动添加仓库的软件包
  • TripoSG:高保真单张图像到3D生成模型——15亿参数的革新性突破
  • 学点概率论,打破认识误区
  • python可变对象与不可变对象
  • 探索 HTML5 新特性:提升网页开发的现代体验
  • 【模拟电路】开关二极管
  • 关于群晖安装tailscale后无法直链的问题
  • Skynet入门(二)
  • ABC-CNN-GRU-Attention、CNN-GRU-Attention、ABC-CNN-GRU和CNN-GRU四类对比模型多变量时序预测
  • 用纯Qt实现GB28181协议/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲
  • 【LeetCode Solutions】LeetCode 160 ~ 165 题解
  • java基础 this和super的介绍
  • 教育舆情知识图谱构建与危机干预策略研究
  • C语言超详细指针知识(二)
  • Python爬虫-爬取全球股市涨跌幅和涨跌额数据
  • 如何做网站滚动屏幕/google官方下载安装
  • 上传到网站根目录/网站优化哪家好
  • 兴义市住房城乡建设局网站/免费好用的网站
  • 在线设计签名免费艺术签名/西安百度推广优化托管
  • 做网站用的字体/网站推广
  • 网站背景如何做/seo快速排名优化方法