欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java上转型对象

程序员文章站 2023-12-25 22:25:09
...

定义:

把一个父类的子类或间接子类声名的对象引用赋给父类

注意:

  • 父类可以是一般的class,interface,abstract

  • 上转型对象不能调用子类新增的属性和方法

      1. 属性:子类中与父类同名的属性属于子类新增的属性,不能被调用,如果调用同名的属性则调用的是父类被隐藏的属性,输出值为父类的值
      2. 方法: 上转型调用的方法,要么直接是从父类那继承未被重写的方法,要么是被重写的方法
    
  • 如果需要访问新增的属性和方法,则可以通过在被重写的方法中调用子类以及父类的属性和方法

  • 上转型对象相对于子类对象功能被弱化,但是可以强制转化为子类对象,从而具备子类的所有属性和方法

  • 子类对象实类被上转为父类对象,之所以还能通过重写方法间接操作子类新增的方法和属性,是因为这个对象实类在内存中还是子类类型的,只不过能力被临时削弱

  • 子类对象与上转为父类对象,在内存中的地址一样,所以通过
    == 或者 equals() 比较时值相等

上一篇:

下一篇: