如何解决Java本地类和接口
| 我想知道下一件事情是否可能实现: 可以说我有2个接口,而每个接口都有1个函数头。 例如,iterface1具有函数g(...),interface2具有函数f(...) 现在,我创建一个类,并声明该类正在实现这两个接口。 在课堂上,我尝试做下一件事: 我开始实现函数g(...),并在其实现中创建一个实现interface2的本地类,然后将f(...)的实现添加到此类中。解决方法
我不太清楚你的意思。我正在想像这样的事情:
interface Interface1
{
public void g();
}
interface Interface2
{
public void f();
}
class MyClass implements Interface1,Interface2
{
@Override
public void g()
{
class InnerClass implements Interface2
{
@Override
public void f()
{
}
}
}
}
这是你的意思吗?
在这种情况下,答案是否定的。内部类(InnerClass
)工作正常,但不算作外部类class2ѭ的实现。您仍然需要在MyClass
中实现f
:
MyClass.java:11: MyClass is not abstract and does not override abstract method
f() in Interface2
,是的,这是合法的。但是,类不会实现接口,因为内部类会实现它。该类必须显式实现接口或将其声明为抽象。
,是的,这是合法的。在您给出的示例中,您的类应实现两个接口的所有方法,而本地类应实现interface2的所有方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。