java 內(nèi)部類能定義接口嗎

小樊
81
2024-11-15 09:49:48

在 Java 中,內(nèi)部類(Inner Class)可以定義接口。實(shí)際上,Java 允許在一個(gè)類的內(nèi)部定義一個(gè)接口,這種接口被稱為局部?jī)?nèi)部接口(Local Inner Interface)。局部?jī)?nèi)部接口僅在其所在的類或方法中可見,而不能在其他類中使用。

以下是一個(gè)局部?jī)?nèi)部接口的示例:

public class OuterClass {
    public void someMethod() {
        // 定義一個(gè)局部?jī)?nèi)部接口
        interface LocalInnerInterface {
            void doSomething();
        }

        // 實(shí)現(xiàn)局部?jī)?nèi)部接口
        LocalInnerInterface localInner = new LocalInnerInterface() {
            @Override
            public void doSomething() {
                System.out.println("Doing something...");
            }
        };

        // 調(diào)用接口方法
        localInner.doSomething();
    }
}

在這個(gè)示例中,我們?cè)?OuterClass 類中的 someMethod 方法內(nèi)定義了一個(gè)名為 LocalInnerInterface 的局部?jī)?nèi)部接口。然后,我們創(chuàng)建了一個(gè)實(shí)現(xiàn)了該接口的匿名內(nèi)部類實(shí)例,并調(diào)用了接口的 doSomething 方法。

0