gpt4 book ai didi

接口(interface)类型的 Java 变量

转载 作者:行者123 更新时间:2023-11-29 10:17:08 25 4
gpt4 key购买 nike

我知道分配给类型为接口(interface)的引用变量的对象可能是实现该接口(interface)的类的实例。但是对于以下代码块:

public interface foo {
public abstract void method_1();
}

class bar implements foo {
@Overide
public void method_1() { //Implementation... }

public void method_2() { //Do some thing... }
}
.....

foo variable = new bar();
variable.method_1(); // OK;
variable.method_2(); // Is it legal?

是否可以让变量(其声明类型为foo但实际类型为bar)调用未在接口(interface)中声明的方法_2?提前致谢!

最佳答案

是的,你可以投:

((bar)variable).method_2();

但您可能不应该这样做。接口(interface)的全部意义在于只使用它提供的方法。如果它们还不够,则不要使用该界面。

关于接口(interface)类型的 Java 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691647/

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