浅析Java内部类在GUI设计中的作用(2)Java认证考试
文章作者 100test 发表时间 2010:02:24 18:25:39
来源 100Test.Com百考试题网
四、方法内部类
方法内部类只在该方法内部可见,方法内部类可以定义在方法中的任何位置。
/**
* 内部类实现接口
*
*/
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.
}
}
运行结果:
say foo!
say bar!
Process finished with exit code 0
五、匿名类
匿名类不给出类名,直接定义一个类,通常这个类实现了某种接口或者抽象。匿名类的访问权限更没有讨论价值了,看个例子就行了。
在一些多线程程序中比较常见,有点变态,呵呵。
/**
* 匿名类.
*
*/
public class Test3 {
public Foo f = new Foo() {
public void say() {
System.out.println("O(∩_∩)O哈哈~!").
}
}.