zoukankan      html  css  js  c++  java
  • 4.4polymorphic

    多态没什么可注意的,值得注意的关键字是instanceof,针对解释"它可以判断一个对象是否为某个类的实例或者子类"

    代码如下:

    package D10;
    public class AnimalTest {
     public static void main(String[] args) {
      // TODO 自动生成的方法存根
      Animal a1= new Cat();          //新建对象使用Animal类的a1引用它
      Animal a2= new Dog();
      animalShout(a1);
    //  animalShout(a2);    
      
     }
     public static void animalShout(Animal sh) {   //多态利用参数确认实现方法
      sh.shout();
      Cat cat=(Cat) sh;
      cat.sleep();
     }
    }
     
    /*-------------------------------------------------------------------------------------------------------------------------------------分割*/
    package D10;
     class Cat implements Animal {
      public void shout() {   //去掉public会怎样?
       System.out.println("喵喵~");
      }
      public void sleep() {   //去掉public会怎样?
       System.out.println("睡觉~");
      }
     }
     
    /*-------------------------------------------------------------------------------------------------------------------------------------分割*/
    package D10;
     class Dog implements Animal {
      public void shout() {
       System.out.println("汪汪~");
      }
    }
    /*-------------------------------------------------------------------------------------------------------------------------------------分割*/
    package D10;
    interface  Animal {
     void shout();
    }
     
    实现:
    package D10;
    public class AnimalTest {
     public static void main(String[] args) {
      // TODO 自动生成的方法存根
      Animal a1= new Cat();          //新建对象使用Animal类的a1引用它
      Animal a2= new Dog();
      animalShout(a1);
          animalShout(a2);    
      
     }
     public static void animalShout(Animal sh) {   //多态利用参数确认实现方法
     if (sh instanceof Cat) {
      sh.shout();
      Cat cat=(Cat) sh;
      cat.sleep();
     }else {
      sh.shout();
     }
      
     }
    }
     
     
  • 相关阅读:
    C语言实现数据结构中的顺序栈
    什么是A股什么是B股,为什么有AB股之分?
    C语言实现数据结构中的链队列
    C语言实现数据结构中的循环链表
    C语言实现数据结构的链表
    C语言中指针变量作为函数参数和一般变量作为函数参数的区别
    javascrip实现下拉框联动
    C语言实现数据结构中的顺序表
    C语言实现数据结构中的链栈
    SQL语句之基础增删改查 time
  • 原文地址:https://www.cnblogs.com/Wision-22/p/9868499.html
Copyright © 2011-2022 走看看