《Java编程思想》10.6 匿名内部类奇怪的代码
刚刚看到10.6关于匿名内部类的介绍,里面的代码真叫我头大,在电脑上竟然编译不过,IDE里直接标出错误了,拿10.6第一段代码来看:
public class Parcel7 {public Contents contents() {return new Contents() {private int i = 11;public int value() {return i;}};}public static void main(String[] args) {Parcel7 p = new Parcel7();Contents c = p.contents();}
}
这段代码是原书里原封不动弄过来的,在返回值为Contents的方法contents()中,语句return后面跟的是Contents类的定义,可是在Eclipse里标出了错误,大致意思是Contents不能被作为类型,我以为是IDE的问题,于是用文本编辑器写下来用命令行编译,仍旧出错,下面上图:
非常奇怪,这一节后面的代码似乎也无法编译过,具体原因尚不清楚,真叫人头大。
4月22日,我似乎找到了解决的方法,只要在外面提供一个Contents接口就可以解决问题:
interface Contents {int value();
}
public class Test {public Contents contents() {return new Contents() {private int i = 11;public int value() {return i;}};}public static void main(String[] args) {Test p = new Test();Contents c = p.contents();System.out.println(c.value());}
}
如上面代码,我提供了接口Contents,现在这个例子可以顺利编译并运行了。
《Java编程思想》10.6 匿名内部类奇怪的代码相关推荐
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象 2.程序就是对象的集合 3.每个对象都是由其它对象所 ...
- Java编程思想第四版学习总结
Java编程思想第四版学习总结 文章目录 Java编程思想第四版学习总结 第 1 章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重 ...
- 【java】《java编程思想》 读书笔记
之前主要用的C++的比较多,之前花了快2个月的实际认真系统全面的学习了以下java的基础语法,<java编程思想>这本书翻译水平确实不是很好,很多话读着会比较拗口.推荐读之前,先去网上搜索 ...
- Java编程思想读书笔记一:并发
1. Thread.yield( )方法 当调用yield()时,即在建议具有相同优先级的其他线程可以运行了,但是注意的是,仅仅是建议,没有任何机制保证你这个建议会被采纳 .一般情况下,对于任何重要的 ...
- Java编程思想日志
Thinking In Java的作者是大牛!做事要站在巨人的肩膀上有助于提高效率和开阔眼界!建议学习java的小伙伴儿有时间可以抽空了解一下,以下内容为读书笔记,比较杂乱,仅供参考,推荐阅读原著: ...
- Java编程思想翻译勘误
总的来说,Java编程思想是一本好书:但是因为译者可能不懂计算机,很多地方都有严重错误. 之前和朋友抱怨过,朋友提议抱怨无用不如干点实事.遂决定边看边将自己找到的翻译错误贴出来,希望能给别人一些帮助. ...
- 59.java编程思想——创建窗口和程序片 Swing
59.java编程思想--创建窗口和程序片 Swing 当我们的工作方法在AWT 中发生了巨大的改变后(如果可以回忆起很久以前,当Java 第 一次面世时SUN 公司曾声明Java 是一种" ...
- java编程思想--概述
之前主要用的C++的比较多,之前花了快2个月的实际认真系统全面的学习了以下java的基础语法,<java编程思想>这本书翻译水平确实不是很好,很多话读着会比较拗口.推荐读之前,先去网上搜索 ...
- 《Java编程思想》读书笔记一
很早之前就买了<Java编程思想>这本书,初学时看这本书看的云里雾里的,实在费劲,就放在一边垫桌底了.感觉这本书是适合C/C++程序员转行到Java学习的一本书,并不适合零基础的初学者去看 ...
最新文章
- Backup and Restore in SharePoint 2010
- 使用Java api 和 jni混合方式调用OpenCV
- String.split()方法你可能不知道的一面
- VuePress 添加百度统计代码
- html js 浏览器语言,js 判断浏览器语言的方法
- (STTN)Learning Joint Spatial-TemporalTransformations for Video Inpainting
- windows上配置新的conda env+torch
- 每天一道博弈论之“巴什博弈”
- 【旗帜识别】基于matlab GUI旗帜识别【含Matlab源码 157期】
- 方正伪GBK(字体名称中有GBK且字数不足21003)字体列表及使用注意事项
- AWG#线规及其载流能力和电阻值
- 让人感到惊艳的5款数据可视化大屏产品
- 全场景效能平台猪齿鱼 Agent——helm组件升级
- 列表,元组,字典,集合的特点
- CM4下SPI接口CAN模块配置流程
- [毒]QQ空间出现的伪装QQ登录窗口诈骗
- 【整理】嵌入式系统的各种常见外设
- Flink运行时架构及各部署模式下作业提交流程
- 使用PS快速保存多种尺寸的图标
- UnityShader入门精要-屏幕后处理效果 亮度饱和度对比度、边缘检测、高斯模糊、bloom效果、运动模糊