- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HYPERLINK /yjmyzz/p/3448330.html 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输出,会发现有一个类似Program1.class的文件,如果反编译观察一下,发现原来是编译器自动生成一个类Program1:
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 }
如果有些场合,只需要临时需要创建一个接口的实现类,上面的技巧可以用来简化代码.
您可能关注的文档
- iPhone丢失找寻方法.doc
- iphone6plus刷机教程iphone6plus如何刷机.doc
- iPhone回收再售背后的互联网隐忧.doc
- iphone常用路径整理.doc
- iphone手机网络设置.doc
- IPO被否原因全调查.doc
- Iptables中文说名书.docx
- IP视频监控系统如何能够突破发展瓶颈.doc
- ireport利用javabean做数据源.docx
- ISAServer2004FAQ:管理.doc
- 2022-2027年中国酒店式公寓行业市场发展现状及投资前景展望报告.docx
- 造价咨询机构相关管理制度.docx
- 中国油烟机行业市场发展现状及投资规划建议报告.docx
- 中国专用灯具行业发展监测及市场发展潜力预测报告.docx
- 2022-2027年中国楼梯行业市场运行现状及投资战略研究报告.docx
- 2025年中国空气炸锅行业发展运行现状及投资潜力预测报告.docx
- 金融科技、企业数字化转型与技术创新绩效.docx
- 2025年中国婚介服务行业竞争格局分析及投资战略咨询报告.docx
- 中国自流平石膏粉市场竞争格局及投资战略规划报告.docx
- 中国印刷电路板PCB行业发展前景及投资战略咨询报告.docx
文档评论(0)