浅析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哈哈~!").

  }

  }.


相关文章


Java中Connection事务处理的一点儿例外Java认证考试
小谈ResultSet用法Java认证考试
JavaScript实现水平选项卡效果Java认证考试
浅析Java内部类在GUI设计中的作用(1)Java认证考试
浅析Java内部类在GUI设计中的作用(2)Java认证考试
Java判断字符串是否为空方法Java认证考试
java认证辅导:spring分页汇总Java认证考试
使用java.util.concurrent实现的线程池、消息队列功能Java认证考试
关于JAVA的可移植性Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛