java的对象类型转换解释
1.父类引用子类对象,成为向上转型,属于自动转型。
2.进行父类转型后我们能调用父类的方法,但不能调用子类的方法,如果要进行调用子类的方法我们就需要进行类型强制转换,成为向下转型。
举例说明:
父类定义
public class Animal {
public void cjm(){
System.out.println("我是父类");
}
}
Dog继承父类
class Dog extends Animal{
public void cjm(){ System.out.println("继承父类方法");}
public void seeDoor(){System.out.println("定义子类Dog自己的方法");}
}
进行实例化Dog对象
Animal animal = new Dog(); //Dog子类向父类是自动转型,向上转型
animal.cjm(); //父类中存在cjm()方法,可以直接调用
注意:animal.seeDoor(); //不能直接调用,因为父类中不存在该方法,要进行强制转型
Dog d = (Dog)animal; //进行强制类型转换,向下转型
d.seeDoor(); //进行强制类型转换后就可以调用子类的seeDoor()方法