java類內部可以定義接口,作用可以看作是對類功能的進一步補充,類里面包含兩部分:一部分是自己的固定的,一部分是可以變化的,而這可變的部分就編程了一個接口。
另一個作用是避免命名沖突。
示例
類Fruits內部存在接口Apple
public class Fruits { public interface Apple { public String info(); } }
通過匿名內部類方式實現Fruits類中的Apple接口
public class Test { public static void main(String[] args) { Fruits.Apple apple = new Fruits.Apple() { @Override public String info() {return "I'm an Apple";} }; System.out.println(apple.info()); } }
需要注意,內部接口不管有沒有聲明static,都是靜態的。這不同於成員內部類,成員內部類需要依賴其所在類實現的對象。