Java 中的向上转型和向下转型以及多态性

问题描述 投票:0回答:0

困惑为什么要使用向下转型和向上转型以及多态性

告诉我我是对还是错❌。这将是一个很大的帮助!!🙇u200d♂🙇u200d♂

如果我们这样说

Gift gift = new Pen();
,我们不仅可以利用多态性(如果子类有任何重写的方法),而且我们将在堆中仅创建一个对象,就像如果我们进一步说想要访问 Pen 类方法一样只能说
Pen pen = (Pen) gift;
这行代码可用于访问超类方法及其自己的方法。

但我的观点是,在这里我们不必在堆中创建新对象,而是可以直接向下转型。

因此,如果我们像

Gift gift = new Gift()
那样说,并且想要使用 Pen 类方法,我们需要在堆中再次创建对象,如
Pen pen = new Pen()

基本上,我们可以只创建一个对象,然后将其向下转型,而不是在堆中创建 2 个对象。这不仅有助于编写高效的代码,而且还可以利用多态性和维护良好的代码。

java performance polymorphism downcast upcasting
© www.soinside.com 2019 - 2024. All rights reserved.