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

一、多态

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

posted @ 2022-07-25 18:24  里奥~  阅读(32)  评论(0编辑  收藏  举报