今天在看api源码是,总是看到一些
private static class XXX{
xxxxxx
}
的内部类,在网上没找到这方面的解释,不知道为什么要弄成private static
比如有这么一个例子
interface IFoo {
public void bar();
}
class Outer {
private static class Foo implements IFoo{
public void bar() {
System.out.println("Bar");
}
}
public static IFoo getFoo() {
return new Outer();
}
}
在这里Outer方法内部有一个IFoo类型的类Foo
但又不希望这个Foo类被外界使用,Foo类型的对象只能由Outer获得
这样的话就使用了内部类
而因为getFoo是static的
这就要求Foo也是static的了
这只是一个实现方式 希望对你有用~
既然是内部类 自然不想给外部调用 所以用private