上转型对象 :用子类的构造函数给父类的对象赋值
父类 a = new 子类();
父类 a = 子类对象;
一个例子:
| 父类A |
|---|
| 变量 |
| 方法 |
| 子类B |
|---|
| 父类的未被重写变量 |
| 父类的未被重写方法 |
| 被重写(覆盖)的变量 |
| 被重写的方法 |
| 新建的方法/变量 |
A a = new B();
a.子类新建的方法/变量;//错误,不可以调用
a.父子同名的变量;//调用的是父类的变量
a.父子同名的方法;//调用的是子类的重写了的方法
a.父类未被重写的变量/方法
上转型对象在Java中是指将子类对象赋值给父类引用,它允许调用父类中定义的方法,但无法访问子类特有的属性和方法。在使用上转型对象时,如果方法被子类重写,则会执行子类的实现;而对于变量的访问,即便子类重写了该变量,仍然会调用父类的变量。总结起来,上转型对象的主要特点是:1. 调用重写方法时执行子类实现;2. 访问父类变量;3. 不能访问子类新增的属性和方法。
上转型对象 :用子类的构造函数给父类的对象赋值
父类 a = new 子类();
父类 a = 子类对象;
一个例子:
| 父类A |
|---|
| 变量 |
| 方法 |
| 子类B |
|---|
| 父类的未被重写变量 |
| 父类的未被重写方法 |
| 被重写(覆盖)的变量 |
| 被重写的方法 |
| 新建的方法/变量 |
A a = new B();
a.子类新建的方法/变量;//错误,不可以调用
a.父子同名的变量;//调用的是父类的变量
a.父子同名的方法;//调用的是子类的重写了的方法
a.父类未被重写的变量/方法