美文网首页Java基础
Java基础-多态

Java基础-多态

作者: 其实是白羊 | 来源:发表于2019-06-03 11:11 被阅读0次

一、实质(比较官方的回答)

多态是指:当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对于系统A而言是透明的。

二、举例理解

父类:动物类;子类:猫类和狗类;父类的方法cries()被两个子类重写。

现在有一个功能要实现发出某种动物的叫声,动物有很多种,我们只需要要这样写:

public void animalCries(动物 a){
  a.cries()
}

在需要动物发声的时候直接调用:

动物 a=new 猫();
animalCries(a);

动物 b=new 狗();
animalCries(b);

就能不用改动原始代码。编译时变量a就被认定为代码中所声明的动物对象,程序在执行的过程中会看动物a这个变量引用的到底是猫对象还是狗对象。动态绑定。

一些需要知道的知识点

1.向上转型:声明的变量类型是父类,变量引用的对象是子类。(看上去是爸爸,仔细一看是儿子)
2.对于引用对象而言,Java编译器会按照它声明时的类型来能处理,运行时Java虚拟机会按照它实际引用的对象来处理。
3.在运行环境中,引用类型里的方法和成员变量的绑定是有规则的:

  • 动态绑定:实例方法的绑定(实际看变量引用的对象的类型)
  • 静态绑定:静态方法和成员变量(实际看变量声明时的类型)

相关文章

  • 招银网络面试题、考点、知识点总结(Java岗)

    java基础 全是基础不用多说肯定考的多,尤其是招银 OOP特性/java语言特性:封装、继承、多态 多态具体的表...

  • 招银网络面试题、考点、知识点总结(Java岗)

    java基础 全是基础不用多说肯定考的多,尤其是招银 OOP特性/java语言特性:封装、继承、多态 多态具体的表...

  • Java笔记

    Java基础 Java面试通关要点 1.面向对象的特征 封装 继承 多态 封装继承多态 2.final,final...

  • Android面试

    JAVA 基础 java的特点 (OOP),封装、继承、多态 ==、equals、hashCode的作用,区别 什...

  • 面经一

    目的: 总结下面试时遇到的问题,并附上自己的答案. 1 Java基础 1.1 Java的继承,多态。 以及多态...

  • Java基础-多态

    1.什么是多态: 同一个对象在不同时刻体现出来的不同状态. 2.多态的前提: A:有继承或者实现关系.B:有方法重...

  • JAVA基础-多态

    JAVA基础-多态 结论: 1、当子父类中出现同名的成员变量时,多态调用该变量时,如果父类没有该变量,则编译失败。...

  • Java基础-多态

    一、实质(比较官方的回答) 多态是指:当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对...

  • Java的基本特性

    关系 Java的四个基本特性分别是抽象,封装,继承,多态。概括起来可以这么理解,抽象、封装、继承是多态的基础,多态...

  • 学习路线

    Java Se基础 Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱...

网友评论

    本文标题:Java基础-多态

    本文链接:https://www.haomeiwen.com/subject/yinqxctx.html