对象转型

ゝ一世哀愁。 2022-06-11 03:42 211阅读 0赞

1、什么是对象转型

一个基类的引用类型变量可以“指向”其子类的对象。
一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
可以使用《 引用变量 instanceof 类名 》来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。
子类的对象可以当做基类的对象来使用称作向上转型(upcasting),反之成为向下转型(downcasting)。

2、 向上转型

假设,FatherClass类是ChildClass类的父类:

ChildClass c = new ChildClass();

FatherClass fClass = c ;//向上转型

// FatherClass fClass = new ChildClass();//向上转型

3、 向下转型 (instanceOf)

假设,FatherClass类是ChildClass类的父类:

  1. public void test(FatherClass father){
  2. if (father instanceof ChildClass) {//判定father引用指向的对象类型是否是ChildClass类型
  3. ChildClass child = (ChildClass) father;//向下转型。需要强制转换符
  4. }
  5. }

4、 什么时候需要使用对象的转型

当形参定义的是父类类型变量(引用),但实参有可能是该形参类型的子类对象时。
当返回值类型是父类类型,但返回的具体对象是子类对象时。

当父类引用指向子类对象的时候,需要访问子类新增的属性和方法时。

向下类型转换示例代码下载地址:

https://github.com/benxiaohai8888/Javase/tree/master/doctor

发表评论

表情:
评论列表 (有 0 条评论,211人围观)

还没有评论,来说两句吧...

相关阅读

    相关 对象转型

    1、什么是对象转型 一个基类的引用类型变量可以“指向”其子类的对象。 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。 可以使用《 引用变量

    相关 Java 对象的上转型对象

    什么是对象的上转型对象,举个例子 假设Animal类是Tiger类的父类,当用子类创建一个对象,并把这个对象的引用放到父类的对象中时,称对象a是对象b的上转型对象;

    相关 转型对象

    查找写资料对上转型对象做个了解:   假设B类是A类的子类或间接子类,当用子类B创建一个对象,并把这个对象的引用放到A类的对象中时,如 A a; a=new B();

    相关 java对象转型

    对象向上转型: 父类引用指向子类对象,默认进行 对象向下转型: 父类转成子类,需强制进行 instanceof 关键字,判断一个对象是否是一个类的实例 对象转型实例:

    相关 JAVA 对象的上转型对象

    将一个父类的引用赋值给一个子类对象,这个子类对象就叫做对象的上转型对象。 假设Animal类是Tiger类的父类,当用子类创建一个对象,并把这个对象的引用放到父类的对象中...