引用类型转换java
1.向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。安全
2.向下类型转换(强制类型转换),是大类型到小类型,有必定的安全性问题。code
3.instanceof运算符,用来解决引用对象类型,避免类型转换的安全性问题。对象
举例以下:编译
package Java2_3; /** * Animal为父类,Dog与Cat为子类。 * @author qiang * */ public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub Dog dog = new Dog(); Animal animal = dog;//自动类型提高或叫向上类型转换 if(animal instanceof Dog){ Dog dog2 = (Dog)animal;//向下类型转换 System.out.println("转换了!"); }else{ System.out.println("没法进行类型转换!"); } if(animal instanceof Cat){ //1.编译时Cat类型 2.运行时Dog类型 ; //编译时不会报错,但运行时会,由于不是两个类型不匹配 Cat cat = (Cat)animal; }else{ System.out.println("没法进行类型转换!"); } } }
运行结果为class
转换了! 没法进行类型转换!