java编程笔记,多态的好处和弊端

createh53个月前 (04-07)技术教程28

测试代码:

1.创建Animal.java类作为父类



2.创建Cat.java类作为Animal的子类



3.创建一个Dog.java类作为Animal的子类



4.创建Test.java测试类

代码说明:多态的好处并不仅仅是 父类引用指向子类对象(Animal animal = new Dog()),这样的话我们不能调用Dog子类中特用的方法和属性,我们在创建对象的时候直接创建子类对象更方便(Dog g = new Dog()),多态真正的好处其实是将父类作为参数在公共的方法中传递,这样只要继承了该父类,所有的子类就可以通过参数的形式将创建的对象传递到方法中。提高了代码的扩展性和维护性。但是这样做,会产生一个弊端,我们无法调用具体子类对象中的方法和属性,所以我们需要对传入的参数进行实例判断(instanceof),并进行向下强转(Dog g =(Dog)animal )。

总结多态的好处和弊端:

多态的好处

  1. 提高代码的维护性(继承保证)
  2. 提高了代码的扩展性(由多态保证)
  3. 可以当做形式参数,可以接收任意子类对象

多态的弊端:

  1. 也就是不能使用子类的特有属性和方法(行为)

相关文章

为什么要学习Java以及学习Java的好处

为什么要学习Java以及学习Java的好处: ① 是目前最为广泛的网络编程语言。它具有简单,面向对象,稳定等特点。②Java 语言简单是指这门语言既易学好用。如果你学习过 C++语言,你会感觉 Jav...

Java8中一个极其强悍的新特性,很多人没用过(非常实用)

转自: Java的架构师技术栈原文:http://suo.im/6p27hA(点击阅读全文前往)Java8中有两个非常有名的改进,一个是Lambda表达式,一个是Stream。如果我们了解过函数式编程...

Java:理解Java软件开发的利与弊

  Java解决方案在所有类型的组织中都很流行,因为它是全球使用最广泛的编程语言。Java是一种开源编程语言,开发人员可以编写一次,在任何地方使用,因为它具有跨平台的开发能力。  Java的主要用途包...

Java反射:作用与原理解析

#大有学问#Java反射机制是Java语言中一种强大的功能,它允许程序在运行时动态地访问、检查和操作类、对象、方法和属性。本文将详细介绍Java反射的作用与原理。一、反射的作用Java反射机制的主要作...

揭秘Java五大特性,你不容错过!

前言Java是一种面向对象的编程语言,拥有五大特性:封装、继承、多态、抽象、接口。这五大特性让Java成为一个功能强大、灵活性高、易于扩展的编程语言,被广泛应用于Web应用、移动开发、游戏开发、大数据...