gpt4 book ai didi

java - 为什么我的类不能实现在其中声明的接口(interface)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:19 26 4
gpt4 key购买 nike

我刚遇到一个行为,我首先认为它是 Eclipse 中的错误。考虑这个简单的类:

public class Foo {
public static interface Callback {
public void onAction();
}
}

这是完全正确的。然而,这不是:

public class Foo implements Callback {
public static interface Callback {
public void onAction();
}

public void onAction() { /*some implementation*/ }
}

但这也是有效的:

public class Foo {
public static interface Callback {
public void onAction();
}

private final Callback mCallback = new Callback() {
public void onAction() { /*some implementation*/ }
};
}

为什么 Java 强制我为它“浪费”一个成员,如果它可以通过让我自己实现它来简单地保存它?我很清楚将此接口(interface)放在其自己的文件中的“解决方法”,但出于好奇:这是否行不通?

最佳答案

使用这段代码

public class Foo implements Callback{

public static interface Callback{
public void onAction()
}

public void onAction(){//some implementation}
}

什么是回调?编译器(顺便说一句,它不同于 Eclipse,)不知道什么是 Callback

您在使用后定义了Callback 接口(interface)。

关于java - 为什么我的类不能实现在其中声明的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14835732/

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