gpt4 book ai didi

java - 当您创建某种类型的对象但声明为另一种类型时,在 JAVA 中这意味着什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:47:14 26 4
gpt4 key购买 nike

我真的很困惑,出于某种原因,我似乎不明白。也许我想多了,或者只是个白痴。

但无论如何,这里有一个示例代码:

AkitaDog balto = new Dog();

我真的不明白这意味着什么,至少在某种意义上我无法向其他人解释。

如果您向我提供此代码,那么我理解:

AkitaDog balto = new AkitaDog();

但在第一段代码中,它基本上是说你有一个名为 balto 的 AkitaDog 类型,但你正在用它制作一个 Dog 对象吗?

balto 从 Dog 继承的方法而言,这也意味着什么?

有人可以举一些简单的例子来帮助理解吗?

最佳答案

可以这样想。

你有一个水果。你还有 APPLEORANGE

现在,假设有人向您要水果。由于 FRUIT 是一个抽象术语并且可以表示很多意思,因此您必须给他一些他实际可以吃的东西,一个真正的水果,在您的例子中是苹果或橙子。

这就是为什么你可以这样写:

Fruit appleFruit = new Apple();

因为苹果是一种水果。

类似的原则适用于接口(interface)/抽象类和实现它们的具体类:)

关于java - 当您创建某种类型的对象但声明为另一种类型时,在 JAVA 中这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20187589/

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