145-Java的类型转换&使用强制向下转型解决多态的弊端-【视频讲解】

点击查看视频讲解

1.1. java的类型转换

1.1.1. java的类型转换

自动向上转型: 可以直接将子类型引用赋值给父类型变量,可以自动进行,叫做自动向上转型;

例如:

1

2

3

4

5

class  Fu{}

class Zi extends Fu{}

Zi zi = new Zi();

  

Fu f = zi;//这行代码就发生了自动向上转型

 

强制向下转型: java中允许将父类型引用赋值给子类型变量,叫做向下转型;但是这种转型不能自动实现,需要强制进行,所以叫做强制向下转型;

例如:

1

2

3

4

5

class  Fu{}

class Zi extends Fu{}

Fu  f  = new Zi();//这行使用了多态,发生了向上转型;

  

Zi  z = (Zi)f; //这行发生了强制向下转型

 

使用强制向下转型解决多态的弊端:

 

你可能感兴趣的:(java)