首页 > 解决方案 > 为什么我们需要向上转换或向下转换 Java 中的任何对象?用例子告诉我实时使用

问题描述

我需要了解向上转换和向下转换对象背后的原因,我知道该怎么做,但我仍然很困惑为什么我们需要这样做,你能告诉我实时使用吗?

我知道向上转换和向下转换的基本知识,但无法理解原因。

标签: java

解决方案


举一个实际的例子,考虑类java.io.ByteArrayOutputStream。它实现java.io.InputStream并具有一些附加方法,例如toByteArray()返回字节数组的方法。

所以如果你有一个输出流

OutputStream os = ...

而且您确定它是 ByteArrayOutputStream,您可以对其进行强制转换并使用特定于该类的方法,如下所示。

byte[] bytes = ((ByteArrayOutputStream) os).toByteArray();

推荐阅读