多态的向上转型与向下转型

多态的向上转型与向下转型

多态的转型分为向上转型与向下转型两种:

A:向上转型:当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程。

使用格式:

父类类型  变量名 = new 子类类型();

例如:Person p = new Student();

 

B:向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用转为子类引用,这个过程是向下转型。如果是直接创建父类对象,是无法向下转型的。

使用格式:

子类类型 变量名 = (子类类型) 父类类型的变量;

例如:Student stu = (Student) p;       //变量p 实际上指向Student对象

猜你喜欢

转载自blog.csdn.net/weixin_44706512/article/details/89413708