gpt4 book ai didi

java - 接口(interface)之间的转换

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:02 25 4
gpt4 key购买 nike

我的问题与 Java 语言有关。这是我得到的:

interface I1{}
interface I2{}
class C1 implements I1{}
class C3 extends C1 implements I2{}

什么时候

     C1 01;
C3 o3;
I1 i1;

等等

现在证明 I2 i2 = (I2) i1; 是正确的,因为在运行时 i1 实际上指的是实现 I2 的对象。 但我不明白。接口(interface)之间没有关系,那么如何将其转换为相邻的接口(interface)呢?没有更多的代码,只是为了准备Java认证而进行的演练。最好的问候

最佳答案

如果您将 Integer 转换为 String,编译器可以将其视为非法来阻止,但是,由于一个类可以实现多种接口(interface),因此编译器不能当您将一种接口(interface)类型转换为另一种接口(interface)类型时,不知道您是否越界了。考虑这段代码:

I1 i1 = getI1();
if (i1 instanceof I2) {
I2 i2 = (I2) i1;
}

如果 Java 编译器不允许从一个接口(interface)转换为另一个接口(interface),那么这段完全合法的代码将无法编译。

关于java - 接口(interface)之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13219097/

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