当子类A转成父类B,子类A内容父类B可以访问吗,此时把父类B在转成和A同子类C,C可以访问A中内容吗
时间: 2024-04-28 11:26:04 浏览: 44
当子类A转换成父类B时,子类A中定义的内容会被截断,只有父类B中定义的内容会被保留,因此父类B只能访问子类A中继承过来的内容,而无法访问子类A中新增加的内容。
如果将父类B对象转换成与子类A同级别的子类C对象,C依然无法访问子类A中新增加的内容,因为在子类A转换成父类B时,新增加的内容被截断了。但如果子类C中定义了与子类A新增加的内容相同的属性或方法,那么子类C可以访问这些属性或方法。
相关问题
当子类A转成父类B,子类A内容父类B可以访问吗,此时把父类B在转成子类C,C可以访问A中内容吗
当子类A转换成父类B时,子类A中定义的内容会被截断,只有父类B中定义的内容会被保留,因此父类B只能访问子类A中继承过来的内容,而无法访问子类A中新增加的内容。
如果将父类B对象转换成子类C对象,C依然无法访问子类A中新增加的内容,因为在子类A转换成父类B时,新增加的内容被截断了。但如果子类C中定义了与子类A新增加的内容相同的属性或方法,那么子类C可以访问这些属性或方法。
下面关于继承的说法不正确的是_________。 A、 子类既可以继承父类的属性,也可以继承父类的方法 B、 子类对象转换为父类对象时不必进行强制类型转换 C、 在子类中可以使用父类中定义的所有成员 D、 在子类的构造方法中可以使用 super 来调用父类的构造方法
选项B不正确。在Java中,子类对象可以隐式地转换为父类对象,但是将父类对象转换为子类对象时需要进行强制类型转换。例如:
```
class A {}
class B extends A {}
B b = new B();
A a = b; // 子类对象可以隐式地转换为父类对象
B b2 = (B) a; // 父类对象转换为子类对象时需要进行强制类型转换
```
因此,选项B不正确。其他选项都是正确的:
- 子类既可以继承父类的属性,也可以继承父类的方法。
- 在子类中可以使用父类中定义的所有成员。
- 在子类的构造方法中可以使用`super`来调用父类的构造方法。
因此,选项B不正确。
阅读全文