美文网首页
Java多态总结

Java多态总结

作者: kevin0806 | 来源:发表于2018-01-15 09:29 被阅读0次

<pre>

概念介绍

  • 定义

    多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。

  • 实现技术

    动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

  • 作用

    消除类型之间的耦合关系。

  • 应用场景

    现实中,关于多态的例子不胜枚举。比方说按下 F1 键这个动作,如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。

深入理解多态

**多态存在的三个必要条件:

一、要有继承;

二、要有重写;

三、父类引用指向子类对象。**

**Java中多态的实现方式:

接口实现

继承父类进行方法重写

同一个类中进行方法重载**

  • 方法表与方法调用

Java 的方法调用有两类,动态方法调用与静态方法调用。静态方法调用是指对于类的静态方法的调用方式,是静态绑定的;而动态方法调用需要有方法调用所作用的对象,是动态绑定的。类调用 (invokestatic) 是在编译时刻就已经确定好具体调用方法的情况,而实例调用 (invokevirtual) 则是在调用的时候才确定具体的调用方法,这就是动态绑定,也是多态要解决的核心问题。

方法表是动态调用的核心,也是 Java 实现动态调用的主要方式。它被存储于方法区中的类型信息,包含有该类型所定义的所有方法及指向这些方法代码的指针,注意这些具体的方法代码可能是被覆写的方法,也可能是继承自基类的方法。

1.比如:A a=new B():引用变量a决定了调用的是A类中的方法和属性,而引用的的对象类型B确定了调用的方法,如果B覆盖了A类的方法,那么调用B中重写的方法;如果没有覆盖,调用A类中的方法;
2.方法调用的优先问题 :优先级由高到低依次为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)

相关文章

  • 面经一

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

  • java编程思想(一)---笔记

    《java编程思想》这本书被视为java经典,再此总结一些重点知识: 1.java多态性理解 所谓多态就是指程序中...

  • java多态总结

    Java多态 1、多态的总结 面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响...

  • Java多态总结

    概念介绍 定义多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表...

  • Java多态总结

    写在前面 由于找工作的原因,最近几个月都没有更新博客了。。。这篇可能是今年最后一篇总结类的博文了,希望能够写的好点...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运...

  • java多态面试题

    java多态性 多态分两种: (1) 编译时多态(设计时多态):方法重载。 (2) 运行时多态:JAVA运行时...

  • 2018-01-25

    多态机制 java语言,实现多态...

  • Java多态知识总结

    一. 多态概念? 多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而...

  • java回调

    一 . 前言 正在看java编程思想,感觉对自己提升很大,重新总结下回调。 二.java 多态和向上转型 下面的程...

网友评论

      本文标题:Java多态总结

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