gpt4 book ai didi

Java:接口(interface)引用?

转载 作者:行者123 更新时间:2023-12-01 07:27:04 27 4
gpt4 key购买 nike

我们都知道您无法在 Java 中实例化接口(interface)(至少不能直接实例化)。

但对于这样的事情:

public class Test{
public interface Link {
void mySamplemethod();
String myString ="HELLO!";
}

public static void main(String []args){

Link b;

}
}

b...到底是什么?它怎么可能有实际用途?

最佳答案

b 是一个 Link 类型的变量,没有值,甚至没有 null。为了达到实际目的,您必须使用其类实现 Link 接口(interface)的对象引用来初始化它。

如果您想使用非 null 值初始化 Link,您应该创建一个实现此接口(interface)的类。这在 Java 中是强制的。如果您不想在此类之外创建新类,则可以在类内部或方法内部创建一个新类(这将是 anonymous class )。这是一个示例:

public static void main(String []args){
Link b = new Link() {
@Override
public void mySampleMethod() {
System.out.println("hello");
}
};
b.mySampleMethod();
}

使用接口(interface)而不是直接类进行编程的目的已经在这里得到了很好的解释:What does it mean to "program to an interface"? (无需重新发明轮子)。

关于Java:接口(interface)引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22847942/

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