gpt4 book ai didi

java - 我可以将基类的对象分配给其子类的对象吗?

转载 作者:行者123 更新时间:2023-12-01 12:18:44 26 4
gpt4 key购买 nike

考虑以下代码:

    public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
Deer d = new Deer();
Animal a = d;

在此示例中,Animal 是基类,Deer 是子类,我将 Deer 对象分配给Animal 类,因此对象 'a' 引用了 Deer 的对象(即 'd')。我的问题是我可以反之亦然地写它,如下所示?

    Deer d = a;

最佳答案

您可以通过显式强制转换来实现此目的,但如果 a 未引用实际的 Deer,则会抛出 ClassCastException。

Deer d = (Deer) a;

关于java - 我可以将基类的对象分配给其子类的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26836889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com