Cat.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.sf.javase.day08.duotai;
  2. public class Cat extends Animal{
  3. private String color; //自己独特的属性
  4. public void catchMouse(){
  5. System.out.println("小猫抓老鼠~");
  6. }
  7. public Cat() {
  8. }
  9. // public Cat(int id, String name) {
  10. // super(id, name);
  11. // }
  12. public Cat(String color) {
  13. this.color = color;
  14. }
  15. public String getColor() {
  16. return color;
  17. }
  18. public void setColor(String color) {
  19. this.color = color;
  20. }
  21. @Override
  22. public void sleep(String name) {
  23. System.out.println("小猫正在睡觉");
  24. }
  25. @Override
  26. public String toString() {
  27. return "Cat{" +
  28. "color='" + color + '\'' +
  29. '}';
  30. }
  31. public static void main(String[] args) {
  32. Cat cat = new Cat();
  33. cat.setColor("黄色");
  34. cat.catchMouse();
  35. cat.setName("小猫");
  36. Dog dog = new Dog();
  37. dog.setXX("XX");
  38. dog.shut();
  39. dog.setName("小狗");
  40. //父类的引用 = 子类的对象 = 多态
  41. //编译看左边 运行看右边
  42. Animal animal = new Dog();
  43. animal.setName("12");
  44. Animal animal1 = new Cat();
  45. animal.setName("小狗");
  46. if(animal instanceof Dog){
  47. Dog d1 = (Dog) animal;
  48. d1.setXX("321");
  49. d1.shut();
  50. }
  51. }
  52. }