目录
多态概述
Java有三大特性:封装、继承和多态。
那么什么是多态呢?所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
多态意味着父类型的变量可以引用子类型的对象。
继承关系使一个子类能继承父类的特征,并且附加一些新特征。子类是它的父类的特殊化,每个子类的实例都是其父类的实例,但是反过来不成立。例如:每个圆都是一个几何对象,但并非每个几何对象都是圆。因此,总可以将子类的实例传给需要父类型的参数。
强制类型转换
在了解多态之前,让我们先了解一下类型转换,因为多态本身是一种向上转型。
- 向上转型不要强制转型
- 父类引用指向的或者调用的方法是子类的方法,这个叫动态绑定
- 向上转型后父类引用不能调用子类自己的方法
double Steve_speed = 233.33;
int now_Steve_speed = (int) Steve_speed;
向上转型和向下转型
public class I_am_AaaaT {
public void sleep() {
System.out.println("Now is moonlight");
}
public static vo