• Java学习笔记---多态综合练习


    1. package com.itheimaduotaidemo2;
    2. public class Animal {
    3. private int age;
    4. private String color;
    5. public Animal() {
    6. }
    7. public Animal(int age, String color) {
    8. this.age = age;
    9. this.color = color;
    10. }
    11. public int getAge() {
    12. return age;
    13. }
    14. public void setAge(int age) {
    15. this.age = age;
    16. }
    17. public String getColor() {
    18. return color;
    19. }
    20. public void setColor(String color) {
    21. this.color = color;
    22. }
    23. public void eat(String something){
    24. System.out.println("动物在吃"+something );
    25. }
    26. }
    1. package com.itheimaduotaidemo2;
    2. public class Dog extends Animal {
    3. public Dog() {
    4. }
    5. public Dog(int age, String color) {
    6. super(age, color);
    7. }
    8. @Override
    9. public void eat(String something){
    10. System.out.println(getAge() +"岁的"+getColor()+"颜色的狗两只前腿死死的抱着"+something +"猛吃");
    11. }
    12. public void lookhome(){
    13. System.out.println("狗在看家");
    14. }
    15. }
    1. package com.itheimaduotaidemo2;
    2. public class Cat extends Animal {
    3. public Cat() {
    4. }
    5. public Cat(int age, String color) {
    6. super(age, color);
    7. }
    8. @Override
    9. public void eat(String something){
    10. System.out.println(getAge()+"岁的"+getColor()+"颜色的猫咪眯着眼睛侧着头吃"+something );
    11. }
    12. public void catchmouse(){
    13. System.out.println("猫抓老鼠");
    14. }
    15. }
    1. package com.itheimaduotaidemo2;
    2. public class Person {
    3. private String name;
    4. private int age;
    5. public Person() {
    6. }
    7. public Person(String name, int age) {
    8. this.name = name;
    9. this.age = age;
    10. }
    11. public String getName() {
    12. return name;
    13. }
    14. public void setName(String name) {
    15. this.name = name;
    16. }
    17. public int getAge() {
    18. return age;
    19. }
    20. public void setAge(int age) {
    21. this.age = age;
    22. }
    23. public void KeepPet(Dog dog,String something){
    24. System.out.println("年龄为"+age+"岁的"+name+"养了一只"+dog.getColor() +"颜色的"+dog.getAge() +"岁的狗");
    25. dog.eat(something );
    26. }
    27. public void KeepPet(Cat cat,String something){
    28. System.out.println("年龄为"+age+"岁的"+name+"养了一只"+cat.getColor() +"颜色的"+cat.getAge() +"岁的猫");
    29. cat.eat(something );
    30. }
    31. /* public void KeepPet(Animal a,String something){
    32. if(a instanceof Dog d){
    33. System.out.println("年龄为"+age+"岁的"+name+"养了一只"+d.getColor() +"颜色的"+d.getAge() +"岁的狗");
    34. d.eat(something );
    35. }else if(a instanceof Cat c){
    36. System.out.println("年龄为"+age+"岁的"+name+"养了一只"+c.getColor() +"颜色的"+c.getAge() +"岁的猫");
    37. c.eat(something );
    38. }else{
    39. System.out.println("没有该类动物");
    40. }
    41. }*/
    42. }
    1. package com.itheimaduotaidemo2;
    2. public class Test {
    3. public static void main(String[] args) {
    4. Person p1=new Person("老王",30);
    5. Dog d=new Dog(2,"黑");
    6. Cat c=new Cat(3,"灰");
    7. p1.KeepPet(d,"骨头");
    8. Person p2=new Person("老李",25);
    9. p2.KeepPet(c,"鱼");
    10. }
    11. }

    运行结果:

  • 相关阅读:
    215 数组中的第K个最大元素
    【0116】PostgreSQL/MVCC
    以太坊「合并」将如何影响Web3世界?
    分布式事务解决方案Seata-Golang浅析
    CV复习:常用优化器总结
    SpringMVC框架的介绍与使用
    vue2中常用组件封装、全局挂载及使用
    【数据结构】链表
    React教程(详细)
    2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器
  • 原文地址:https://blog.csdn.net/weixin_73048230/article/details/132738885