向上转型
子类对象一定是父类的一个实例,那么用父类去声明一个子类实例时是可行的,像这样:
父类 对象=new 子类构造器 ; 这样是可行的(这样的对象实质是子类的对象故无法调用父类方法与变量)
向下转型
父类对象不能作为子类的实例,所以向下转型一般会出错。具体分以下两种情况:
1.父类 对象1=new 子类构造器
子类 对象2=对象1
这样是错误的,因为对象1被父类所声明与子类不匹配,但可通过强转纠错:
子类 对象2=(子类)对象1
2.父类 对象1=new 父类构造器
这种类型即使强转也没有作用,编译器可能不会报错但运行时会出错。
具体如下图:
JAVA——向下转型与向上转型
最新推荐文章于 2024-05-31 17:57:16 发布