关于父类子类转换的小记录
来源:互联网 发布:控制上网的软件 编辑:程序博客网 时间:2024/06/06 06:55
一直以来已为自己懂java类型转换,子类可以当成父类,父类无法转成子类,但是今天做实验发现,有一种情况父类是可以强转成子类而不会报类型转换异常的。
如果新建一个父类对象然后强转成子类型,则即使子类型没有自己的字段也会报错(见Main类代码注释部分);
如果将一个子类对象向上转型成父类型后再把它强转成子类对象,则不会有任何问题。(见Main类代码非注释部分)
父类代码
public class Father {private String name = "father";private int age = 50;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
子类代码:
public class Son extends Father {private String sex = "male";public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}
Main类:
public class Main {/** * @param args */public static void main(String[] args) {/** * 新建一个父类对象转成子类,会报类型转换异常ClassCastException */Father f = new Father();Son s = (Son) f;/** * 如果先把一个子类对象向上转型成父类型,然后再将其强转成子类对象,则不会有任何问题。 */// Son son = new Son();// Father f = son;// Son s = (Son) f;System.out.println(s.getAge());System.out.println(s.getName());System.out.println(s.getSex());}}
- 关于父类子类转换的小记录
- 关于类继承的一点小记录!
- 关于自己的小记录
- 关于IOS Autolayout 的一点小记录
- 关于接口对接的小记录
- 生活的小记录
- src的小记录
- 7.29的小记录
- 关于母版页的问题做一下小记录!
- 关于安卓知识的一些小记录
- 关于Activity和Fragment生命周期的小记录
- 父类与子类的转换条件
- 父类与子类之间的转换
- Java子类与父类的转换
- 父类与子类之间的转换
- c++子类父类的转换关系
- java 父类与子类的转换
- Java子类与父类的转换
- There is a circle错误,json转换
- 使用Google Map API v2
- 黑马程序员_字符串处理
- 自学HTML之题外话
- 灰度图像的腐蚀膨胀
- 关于父类子类转换的小记录
- 津津的储蓄计划
- 中文与Unicode表示转换--java实现
- unicode utf-8 字符编解码
- Advance exploit on PowerHA7.1
- Android---文件操作
- 黑马程序员_毕向东_Java基础视频教程学习笔记(八)
- 收集的一些RSS源点
- All In Row