java 两个子类可以互相转换吗

2024-12-28 08:30:49
推荐回答(5个)
回答1:

不行。

编辑器没报错,但运行的时候就报类转换异常。

回答2:

父类是动物,子类1是人类,子类2是狗类
我们可以说人类是动物,狗类是动物,所以在java中可以 直接写Super = new Child();
而当你知道一个动物是人类的时候 可以直接说哪个动物是人类,所以java可以写
Child = (Child)super 这里有个括号的强制转换,可以理解成让你确认一下是否可以真的转,相当于比喻中说的,你确定哪个动物就是人类吗?
而你的需求是两个子类 那就变成 人类 和 狗类。 这怎么转?我真是没辙
java是面向对象的语言,很多东西都跟现实是一样的,这也是程序中的哲学
另外,如果你定要转
可以先把狗类转成动物,再把人类转成动物,这样两个就可以勉强一起了

回答3:

这样是不行的 不信你回去运行试试就知道 只有子类和父类之间可以相互转换
就比如说 一个“动物”类 他有两个子类 “狗”和“猫”
当然可以让动物和猫狗进行转换 因为狗是动物 猫也是动物
而不能说猫是狗 或者说狗是猫

希望对你有帮组

回答4:

不不可以,父类子类转换子类不用强转,不用加()里面的东西

回答5:

不可以的,内存模型不相同