Java 编程思想第四版哪些章节需要对应去看第五版的《on Java 8》?

2019-08-20 10:04:28 +08:00
 amiwrong123

java 编程思想第四版是基于 6 的,而《 on java 8 》是基于 java8 的。它是实际上的 java 编程思想第五版。 目前看到章节内部类,觉得讲得挺好,虽然有时例子代码很长,但现在都习惯了。 请问各位看过的 v 友,有哪些章节需要看完后再去看对应的《 on java 8 》里面的章节的吗?或者说应该不看 java 编程思想的这一章,而去看《 on java 8 》里面的章节?

2805 次点击
所在节点    程序员
16 条回复
xaplux
2019-08-20 10:36:21 +08:00
更正一下:第四版貌似是基于 JDK 5,其实最好的方式是两个都看
amiwrong123
2019-08-20 11:09:15 +08:00
@xaplux
我也想,可惜时间不够用啊。其实主要关心后面的,集合、泛型、并发编程,这几章的差异大不大
xaplux
2019-08-20 11:27:06 +08:00
@amiwrong123 时间嘛,挤挤总会有的,可以搜一下:java6/7/8 新特性
wleexi
2019-08-20 11:29:31 +08:00
好巧我也在看,我看到你后面一章 对象持有了。
上面的代码是很长的,都有敲一遍理解下。
amiwrong123
2019-08-20 11:34:16 +08:00
@xaplux
嗯,争取多看了。现在知道的是,《 on java 8 》有一章叫函数式编程,这是 java8 的新特性吧。
amiwrong123
2019-08-20 11:38:00 +08:00
@wleexi
哈哈哈,挺巧。你还敲一遍呢,我只是从网上下载到源码,然后扔到 ide 里跑一跑试一试。
另外,我觉得里面的例子设计的不错,但看书就是例子太长还没有关键字高亮,看起来就很累==
wleexi
2019-08-20 11:39:25 +08:00
@amiwrong123 恩 重要的会自己写一遍, 内部类的章节差不多全自己写了。网上的我也下了。
Cbdy
2019-08-20 11:58:46 +08:00
可惜过两天 Java13 就出来了
amiwrong123
2019-08-20 11:59:10 +08:00
@wleexi
要不刚好请教你个问题:在内部类章,继承内部类节中。有如下代码:
// innerclasses/InheritInner.java
// Inheriting an inner class
class WithInner {
class Inner {}
}
public class InheritInner extends WithInner.Inner {
//- InheritInner() {} // Won't compile
InheritInner(WithInner wi) {
wi.super();
}
public static void main(String[] args) {
WithInner wi = new WithInner();
InheritInner ii = new InheritInner(wi);
}
}
这种语法叫做:enclosingClassReference.super();
我很理解内部类对象因为需要一个外部类引用,所以构造器的参数是外部类引用。
super()的语言看起来是在调用父类的构造器,super 必须写在构造器第一行,这也是的。
但这里却是 wi.super(),看起来在外部类引用上调用 super(),这实在让人难以理解啊啊啊!
amiwrong123
2019-08-20 12:03:17 +08:00
@Cbdy
oracle 更新太快了吧,感觉大家都在用 8
cabing
2019-08-20 12:27:09 +08:00
java8 action。看完基本了解了~~
xaplux
2019-08-20 13:16:57 +08:00
@amiwrong123 是的,炒鸡好用
wleexi
2019-08-20 13:47:16 +08:00
InheritInner 只继承了内部类。InheritInner 同时声明了一个构造器。构造内部类对象需要一个外部类的引用。这个引用必须要初始化。
amiwrong123
2019-08-20 14:01:52 +08:00
@wleexi
那我感觉应该这么写啊,既然继承了父类,父类是个内部类,那么我在 super 里把这个外部类引用传给你不就好了:
InheritInner(WithInner wi) {
super(wi);//父类需要外部类引用,那就传给它
}
wleexi
2019-08-20 14:17:36 +08:00
只有引用是不够的。必须实例化外部类
wleexi
2019-08-20 14:19:10 +08:00
不用死磕这个点。可以理解为 [规范就是这么规定的,没有为什么].
至于为什么 这事设计层面的事情,可以以后再去研究。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX