protected class Bar {
protected void readme() {
System.out.println("say bar!");
new Foo().test();
}
}
public Foo genFoo() {
return new Foo();
}
public Bar genBar() {
return new Bar();
}
}
四、方法内部类
方法内部类只在该方法内部可见,方法内部类可以定义在方法中的任何位置。
/**
* 内部类实现接口
*
* @author leizhimin 2009-7-17 14:57:50
*/
public class Test2 {
public static void main(String[] args) {
Outer outer = new Outer();
Foo f = outer.genFoo();
Bar b = outer.genBar();
f.say();
b.readme();
}
}
class Outer {
public Foo genFoo() {
//方法内的内部类
class FooImpl implements Foo {
public void say() {
System.out.println("say foo!");
}
}
return new FooImpl();
}
public Bar genBar() {
Bar b = null;
if (true) {
//任意位置的内部类
class BarImpl implements Bar {
public void readme() {
System.out.println("say bar!");
}
}
b = new BarImpl();
}
return b;
}
}