gpt4 book ai didi

java - 具有多个接口(interface)的类

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

我有 2 个接口(interface) inter1 和 inter2 以及实现它们的类:

public interface Interface1 {
method1();
}
public interface Interface2 {
method2();
}
public class Implementer implements Interface1, Interface2 {
method1() {
// something
}
method2() {
// something
}
}
public class Test {
public static void main(String[] args) {
Interface1 obj = quest();
obj.method1();
if(obj instanceof Interface2) {
obj.method2(); //exception
}
}

public static Interface1 quest() {
return new cl();
}
}

如何将 obj 转换为 Interface2 并调用 method2() 或者可以在不转换的情况下调用 method2() ?

最佳答案

如果你写 inter1 obj = ... 那么你将不能写 obj.method2) 除非你转换为 inter2实现 inter2 的类型。

例如

inter1 obj = quest();
if (obj instanceof class1)
((class1) obj).method2();

inter1 obj = quest();
if (obj instanceof inter2)
((inter2) obj).method2();

顺便说一句,当您用 Java 编写时,您通常会以大写字母开头的类和接口(interface)名称,否则会使阅读您的代码的人感到困惑。

关于java - 具有多个接口(interface)的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32639090/

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