java上转型对象
程序员文章站
2023-12-25 22:25:09
...
定义:
把一个父类的子类或间接子类声名的对象引用赋给父类
注意:
-
父类可以是一般的class,interface,abstract
-
上转型对象不能调用子类新增的属性和方法
1. 属性:子类中与父类同名的属性属于子类新增的属性,不能被调用,如果调用同名的属性则调用的是父类被隐藏的属性,输出值为父类的值 2. 方法: 上转型调用的方法,要么直接是从父类那继承未被重写的方法,要么是被重写的方法
-
如果需要访问新增的属性和方法,则可以通过在被重写的方法中调用子类以及父类的属性和方法
-
上转型对象相对于子类对象功能被弱化,但是可以强制转化为子类对象,从而具备子类的所有属性和方法
-
子类对象实类被上转为父类对象,之所以还能通过重写方法间接操作子类新增的方法和属性,是因为这个对象实类在内存中还是子类类型的,只不过能力被临时削弱
-
子类对象与上转为父类对象,在内存中的地址一样,所以通过
== 或者 equals() 比较时值相等