Java中向上转型和向下转型问题
本文介绍了Java中向上转型和向下转型问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
先上代码:UpDownFather.java文件
package test;
public class UpDownFather {
public static void main(String args[]) {
UpDownFather upDownFather = new UpDown();
UpDown upDown = (UpDown) upDownFather;
System.out.println(upDown.hashCode());
}
}
类:UpDown.java文件
package test;
public class UpDown extends UpDownFather {
public static void main(String args[]) {
UpDown upDown = new UpDown();
// 父类可以接收子类
UpDownFather upDownFather = (UpDownFather) upDown;
System.out.println(upDownFather.hashCode());
}
}
上述两种方式,都会编译运行通过。但是下面这种方式,编译通过,运行抛异常:
package test;
public class UpDownFather {
public static void main(String args[]) {
UpDownFather upDownFather = new UpDownFather();
UpDown upDown = (UpDown) upDownFather;
System.out.println(upDown.hashCode());
}
}
順便問一下,我提出的問題,如何格式化代碼?有點兒格式混亂啊。
解决方案
这篇关于Java中向上转型和向下转型问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文