向上转型(upcasting)
向上转型是Java中的一个常见操作,Java中的子类可以强制类型转换为父类,它可以用来将子类对象转换为父类对象,以便在代码中使用更通用的父类类型。
例如,假设有一个名为Cat的子类,它继承自Animal父类。在程序中可以这样进行向上转型:
Cat cat = new Cat();
Animal animal = cat; // 子类实例转为父类实例
- 在这个例子中,Cat对象被创建并赋值给变量cat,
- 然后通过将cat赋值给变量animal,将Cat对象转换为Animal对象。
- 现在可以使用animal变量来调用Animal类的方法,但不能调用Cat类独有的方法。
需要注意的是,向上转型是自动进行的,因此不需要显式地进行类型转换,而且向上转型不会导致任何数据的丢失或修改。
向下转型(downcasting)
如果要将一个父类对象转换为子类对象,就需要使用强制类型转换,这个过程叫做向下转型,需要显式地进行类型转换,并且可能会导致ClassCastException异常。