匿名内部类!!!
来源:互联网 发布:企业网络危机处理 编辑:程序博客网 时间:2024/06/16 06:09
作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com
java:使用匿名类直接new接口
java中的匿名类有一个倍儿神奇的用法,见下面代码示例:
1 package contract;2 3 public interface ISay {4 void sayHello();5 }
上面是一个简单的接口,下面是如何使用:
1 package jimmy; 2 import contract.ISay; 3 public class Program { 4 public static void main(String[] args) { 5 ISay say = new ISay() { 6 public void sayHello() { 7 System.out.println("Hello java!"); 8 } 9 };10 }11 }
初看上去,就好象在“不提供接口实现的情况下,直接new了一个接口实例”,对于C#er来说,有一种尽毁三观的赶脚。
还好这只是假象,观察bin目录下的class输出,会发现有一个类似Program
1 package jimmy; 2 3 import contract.ISay; 4 import java.io.PrintStream; 5 6 class Program$1 7 implements ISay 8 { 9 public void sayHello()10 {11 System.out.println("Hello java!");12 }13 }
如果有些场合,只需要临时需要创建一个接口的实现类,上面的"技巧"可以用来简化代码.
0 0
- 内部类、匿名内部类
- 内部类、匿名内部类
- 内部类,匿名内部类
- 内部类(匿名内部类)
- 内部类 ---匿名内部类
- 内部类,匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类,内部类,匿名内部类
- 匿名内部类,回调...
- 关于匿名内部类
- 匿名内部类
- JAVA匿名内部类
- 返回匿名内部类
- java 匿名内部类
- 匿名类内部类
- JAVA匿名内部类
- select的基本学习
- Linux c 开发 - 内存管理器ptmalloc
- unity3d 在UGUI中制作自适应调整大小的滚动布局控件
- 令operator=返回一个reference to *this
- android:screenOrientation属性
- 匿名内部类!!!
- Oracle绿色客户端(Instant Client)配置方法
- Umeng友盟分享纯图片到微信
- unity3d学习笔记(十一)-NGUI结合Shader制作小map
- custom HID代码分析(一) 报文描述符
- 一步一步实现一个简单的OS(异常处理)
- iOS 免费后台系统 Bmob平台
- iOS应用架构谈(一):架构设计的方法论
- linux ACL