Java 多态

多态:

格式:父类 变量 = new 子类();
  调用成员变量特点
    成员变量:编译运行看左边 (父类)
    编译时,如果父类有该成员变量,则编译成功,如果父类没有则编译失败
    运行时,结该成员变量指向父类

  调用成员方法特点
    成员方法:编译运行看左边 (父类)
    编译时,如果父类有该方法,则编译成功,如果父类没有则编译失败
    运行时,运行的结果走的是子类重写父类后的方法

 

  instanceof关键字:(返回布尔值)用于判断该变量是不是输入该类的实例
    左边如果跟右边在继承体系上没有任何关系,则编译失败
    Animal a1 = new Cat();
    Animal a2 = new Pig();
    boolean f1 = a1 instanceof Animal;

  多态的转型:
    1、向上转型:
      父类类型 变量名 = new 子类类型();
    2、Person p = new Student();
      向下转型:前提:已经向上转型的才可以强制向下转型
        父类类型 变量名 = new 子类类型();
        Person p = new Student();
        子类类型 变量名 = (子类类型) 父类类型的变量;
        Student stu = (Student) p

    向下转型后,可以调用子类独有的方法

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...