上一篇:千字走进注解的领域 | 带你学《Java面向对象编程》之四十六
【本节目标】
通过阅读本节内容,你将初步了解多态性的意义,并认识到在以往的编程过程中处处体现着多态的思想,初步了解实现多态性的几种模式。
多态性是面向对象中的第三大主要特征,多态性是在继承性的基础之上扩展出来的概念,也就是说可以实现父子类之间的互相转换处理。
多态性的基本概念
在Java之中对于多态性有两种实现的模式:
-
方法的多态性:
- 方法的重载:同一个方法名称可以根据传入的参数的类型或个数的不同实现不同功能的执行
- 方法的覆写:同一个方法可能根据使用子类的不同有不同的实现
方法的重载:
class Message {
public void print() {
System.out.println(“www.mldn.cn”) ;
}
public void print(String str) {
System.out.println(str) ;
}
}
方法的覆写:
class Message {
public void print() {
System.out.println(“www.mldn.cn”) ;
}
}
class DataBaseMessage extends Message {
public void print() {
System.out.println(“Oracle数据库连接信息…..”) ;
}
}
class NetworkMessage extends Message {
public void print() {
System.out.println(“网络连接信息…..”) ;
}
}
-
对象的多态性:父子实例之间的转换处理,有两种模式:
- 对象向上转型:父类 父类实例 = 子类实例、自动完成转换 ;
- 对象向下转型:子类 子类实例 = (子类)父类实例、强制完成转换。
从实际的转型处理来讲,大部分情况下考虑最多的一定是对象的向上转型、对于对象的向下转型往往都在使用子类特殊功能(子类可以对父类进行功能扩充)的时候要采用向下转型,还有一些时候是不会考虑转型的(String类)。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学