Java教程

2022-07-25 第四组 java之多态

本文主要是介绍2022-07-25 第四组 java之多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 一、多态
    • 1.多态形成的三个条件
    • 2.什么是多态?
    • 3.两种多态形式
    • 4.多态的作用
    • 2.instanceof

一、多态

1.多态形成的三个条件

  1. 有继承
  2. 有重写
  3. 有父类对象指向子类引用

2.什么是多态?

  • 面向对象的三大特性:封装、继承、多态。
  • 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
  • 多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。

3.两种多态形式

第一种多态形式:(向上转型)
语法:父类 父类对象 = new 子类对象

 Animal animal = new Cat();

第二种多态形式:
语法:子类类型 引用名 = (子类类型) 父类引用;

Animal animal = new Dog();
 Dog dog = (Dog) animal;  //(高转低,强制转换)

向下转型的前提是父类的引用必须指向的是当前目标类型的对象

4.多态的作用

  1. 提高了代码的维护性(继承保证)

  2. 提高了代码的扩展性(由多态保证)

  3. 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

赋值之后,父类型的引用就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。
编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。

2.instanceof

判断一个对象是某一个类的实例

对象A instanceof ClassB

返回值是一个boolean值,如果对象A是类B的实例,则返回值是true,否则为false

这篇关于2022-07-25 第四组 java之多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!