父类对象与子类对象相互转化的条件是啥?如何实现它们的相互转化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了父类对象与子类对象相互转化的条件是啥?如何实现它们的相互转化?相关的知识,希望对你有一定的参考价值。

父类可以接收它的子类对象,不需要转换。如果一个父类里面装的是子类对象,就要进行强制转换成子类,如:子类对象 = (子类)父类对象。

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

子类的创建可以增加新数据、新功能,可以继承父类全部的功能,但是不能选择性的继承父类的部分功能。继承是类与类之间的关系,不是对象与对象之间的关系。



扩展资料:

继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang包中,所以不需要 import)祖先类。

如上面A类与B类,当写继承语句时,class A类 extends B类 其中A类是子类,B类是父类。

继承的语句格式:

class 子类名 extends 父类名

class 父类 class 子类 extends 父类

参考技术A 父类可以接收它的子类对象,不需要转换。如果一个父类里面装的是子类对象,就要进行强制转换成子类,如:子类 对象 = (子类)父类对象; 参考技术B 一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用。

java中数组对象直接父类是啥?

Object是任何对象的父类,Array是final的,所以数组肯定不是它的子类,Collection 是一个集合接口,它提供了对集合对象进行基本操作,所以数组的父类如果没有明确的extends的话,应该指的就是超父类Object。 参考技术A int[] is = 1;
System.out.println(is.getClass());
System.out.println(is.getClass().getSuperclass());

class [I
class java.lang.Object
参考技术B Array 还有 它的工具类。Arrays

嗯。集合是 Collection 集合的工具类 Collections本回答被提问者和网友采纳
参考技术C 你这个问题问的。。。
数组也是分类型的,String[] ,int[] ,char[] 它们都有共同的父类 Object

以上是关于父类对象与子类对象相互转化的条件是啥?如何实现它们的相互转化?的主要内容,如果未能解决你的问题,请参考以下文章

父类对象是不是可以强制转换成子类的对象?为啥?

父类引用指向子类对象

JAVA面向对象之继承

面向对象方法中,继承指的是啥

JAVA中如何对父类对象强制转换子类对象的引用

java中数组对象直接父类是啥?