Explicit && implicit type conversion
隐式类型转换
1. 基本数据类型
1.1: byte、short、char --> int
--> long
--> float
--> double
基本数据类型能够进行隐式的类型转换
2. 对象数据类型
可以将子类隐式的转换成为父类.在继承的结构可以安全的往上进行转型。
显式的类型转换
1. 基本数据类型
1.1: 基本数据类型进行反方向的类型转换需要进行显式的类型转换定义。
int i = 0x11;
short s = (short)i; (short)需要加入进来.显式的进行类型转换。
2. 对象数据类型
2.1: 对象往下进行类型转换,进行显式的类型转换定义。
supclass superclass;
subclass sub = (subclass)superclass;
PS: 为了保证显式转换类型的安全性,必须保证在每次进行对象类型转换需要进行instanceof确保每次的转换是合法的。
if(superclass instanceof subclass){
sub = (subclass)superclass;
}
PS:
1. 尽量的少使用显式的类型转换。
2. 在使用显式的类型之前,一定要先使用instanceof确保向下转型时可行的。