Java引用数据类型的类型转换 一.向上转型二.向下转型 一.向上转型 public class Animal { } public class Dog extends Animal { } public class Test { public static void main(String[] args) { // 父类的引用指向子类的对象 Animal animal = new Dog(); // 向上转型 } } 二.向下转型 public class Animal { } public class Dog extends Animal { } public class Cat extends Animal { } public class Test { public static void main(String[] args) { Animal animal = new Dog(); // 向上转型 // 向下转型不一定成功 Dog dog = (Dog) animal; // 向下转型 Cat cat = (Cat) animal; // 向下转型 // instanceof 判断一个对象是否是一个类的实例 if (animal instanceof Dog) { Dog d = (Dog) animal; } else if (animal instanceof Cat) { Cat c = (Cat) animal; } } }