Java核心类库:内部类那点事儿

发表于:2012-4-18 09:28

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:只是小人物    来源:51Testing软件测试网采编

分享:

  接口式的匿名内部类是实现了一个接口的匿名类。而且只能实现一个接口。

  B. 参数式的匿名内部类。

  1. class Bar{   
  2.     void doStuff(Foo f){  
  3.      }   
  4. }   
  5. interface Foo{   
  6.     void foo();   
  7. }   
  8. class Test{    
  9.  static void go(){    
  10.      Bar b = new Bar();    
  11.      b.doStuff(new Foo(){    
  12.          public void foo(){    
  13.              System.out.println("foofy");    
  14.          }   
  15.       });   
  16.  }   
  17. }

  构造内部类对象的方法有:

  1、内部类在自己所处的外部类的静态方法内构建对象或在另一个类里构造对象时应用如下形式:

  (1)

  1. OuterClass out = new OuterClass();  
  2. OuterClass.InnerClass in = out.new InnerClass();

  (2)

OuterClass.InnerClass in=new OuterClass().new InnerClass();

  其中OuterClass是外部类,InnerClass是内部类。

  2、内部类在它所在的外部类的非静态方法里或定义为外部类的成员变量时,则可用以下方式来构造对象:

InnerClass in = new InnerClass();

  3、如果内部类为静态类,则可用如下形式来构造函数:

OuterClass.InnerClass in = new OuterClass.InnerClass();

  无需再利用外部类的对象来来构造内部类对象,如果静态内部类需要在静态方法或其它类中构造对象就必须用上面的方式来初始化。

44/4<1234
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号