我想知道下一件事情是否可能实现:

可以说我有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)可以正常工作,但不算作外部类f的实现。您仍然需要在f中实现MyClass

MyClass.java:11: MyClass is not abstract and does not override abstract method
f() in Interface2

关于java - Java本地类和接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5648120/

10-10 09:01