1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Head First JAVA(中文第二版)勘误记录

Head First JAVA(中文第二版)勘误记录

时间:2023-08-02 06:21:25

相关推荐

Head First JAVA(中文第二版)勘误记录

本人正在学习这本书,不可否认这本书的确是好书,个人也很喜欢这种学习方式,但美中不足的是,这本书的中文翻译存在一些差错,或者说是读不通的地方。虽查阅了网上其他人的勘误,但是也不完全,所以决定自己整理一个勘误稿(其他人+自己的),此勘误记录根据学习进度更新。

他人整理部分:1~10,12,14,34

1. p19 编译器第2行:

错误:我不能容许变量保存类型的数据

纠正:我不能容许变量保存错误类型的数据

2. P79第6行

错误:由于Getter与Getter较为符合Java的命名习惯

纠正:由于Getter与Setter较为符合Java的命名习惯

3. P82第5行

错误:将getter与setter设定为private

纠正:将getter与setter设定为public

4. P93倒数第7行

错误:方不可以带很多个

纠正:方法可以带很多个

5. P102第4行

错误:我们真正在意的只有checkYourselft()方法

纠正:我们真正在意的只有checkYourself()方法

6. P190示图第6行

错误:这是个合法的过载但不是过载

纠正:这是个合法的过载但不是覆盖

7. P195最后一组连线错误

错误:连的是B's m1, C's m2, A's m3

纠正:B's m1, A's m2, C's m3, 13

8. P228第10行

错误:super这个关键词能让你在子类中调用子类

纠正:super这个关键词能让你在子类中调用父类

9. P236第7行

错误:方法调用及变量的生存空间(stack)

纠正:方法调用及变量的生存空间栈(stack)

10. P243“实例变量没有默认值”错误

错误:但这会让Duck暂时处于没有大小数值的状态(实例变量没有默认值)

纠正:Duck暂时处于没有正确大小数值的状态(int类型实例变量默认为0)

验证:P84 实例变量永远都会有默认值。

11. P247第三个箭头的批注

错误:知道是否为蘑菇,但不知道大小

纠正:知道是否有魔力,但不知道大小

12. P248问答

错误:没错。有时候...

纠正:错误。有时候...

13. P251第一段

错误:在创建新对象时,所有继承下来的构造函数都会执行。

纠正:在创建新对象时,对象继承树中的所有构造函数都必须执行。

验证:P243 构造函数不会被继承

原文:Allthe constructors in an object’s inheritance tree must runwhen you make a new object.

14. P284第一对问答

错误:非静态方法不可以调用该类静态的方法或静态的变量

纠正:非静态方法可以调用该类静态的方法或静态的变量

15. P291数值运算

错误:这代表你可以对Integer的对象作递增运算

纠正:这代表你可以对Integer对象的引用变量作递增运算

原文:That means you can apply the increment operator against a reference to an Integer object!

16. P295这个指令代表什么

*语病:取此方法的第二个参数以第一个参数所表示带有逗号的整数(decimal)方式表示

纠正:取此方法的第二个参数,将其格式化为整数(十进制)并插入逗号

原文:Take the second argument to this method, and format it as a decimal integer and insert commas.

17. P305第三小段

错误:将日期转换成微秒表示法

纠正:将日期转换成毫秒表示法(下文出现的微秒同样应为毫秒)

原文:The Calendar class lets you convert your dates into and out of a millisecond representation.

18. P314练习解答 倒数第五行

错误:day1 += (DAY_IM *29.52)

纠正:day1 += (DAY_IM *29.52);

备注:英文版就印错了,这里是必须要有分号结尾的

19. P337声明(duck掉)

*语病:把method声明成跟有风险的调用一样会抛出相同的异常

纠正:把method所抛出的异常声明与所调用的风险method所抛出的异常声明一致

原文:Declare that your method throws the same exceptions as the risky method you’re calling.

20. P348是非题(1)题目错误表述

错误:try块必须要跟着catch与finally块后

纠正:try块后必须跟着catch与finally块

原文:A try block must be followed by a catch and a finally block.

21. P349排排看

错误:System.out.print(r),System.out.print(t),...,if ( yes .equals(t)),...

纠正:System.out.print("r"),System.out.print("t"),...,if ("yes".equals(t)),...

备注:if片段和所有包含System.out.print的片段均缺少"",共八处。

22. P396泳池迷宫题目错误表述

错误:...还会慢慢变小变白

纠正:...还会慢慢变小并最终消失在白色的区域中。

原文:...will shrink and shrink and disappear into a field of white.

23. P396泳池迷宫题目错误

错误:public void paintComponent (Graphic ___)

纠正:public void paintComponent (Graphics ___)

备注:除此之外,上面的try-catch代码块位置也应整体向右平移一格

24. P409上半页的箭头注释

原译:把按钮加到面板上面

补译:......并将面板加到框架上面。面板的布局管理器(flow)管理按钮,框架的布局管理器(border)管理面板。

原文:Add the button to the panel and add the panel to the frame. The panel’s layout manager (flow) controls the button, and the frame’s layout manager (border) controls the panel.

25. P409右边面板配图的注释

原译:且宽高都跟默认值一样,因为面板使用的是顺序布局

补译:......并且按钮是面板的一部分(并不属于框架)

原文:And the button got its preferred size in both dimensions, because the panel uses flow layout, and the button is part of the panel(not the frame).

26. P416处理事件

错误:public void itemStateChanged(ItemEvent ev) {

String onOrOff = "off";

if (check.isSelected()) onOrOff = "on";

System.out.println("Check box is "+ onOrOff);

}

纠正:public void itemStateChanged(ItemEvent ev) {

String onOrOff = "off";

if (check.isSelected()) {

onOrOff = "on";

System.out.println("Check box is "+ onOrOff);

}

}

27. P442序号③

错误:...则Java虚拟机会抛出例外。

纠正:...则Java虚拟机会抛出异常,解序列化失败。

原文:the JVM throws an exception and the deserialization fails.

28. P446倒数第五个要点

错误:除非该实例变量被标记为transient。否则,该变量在还原的时候会被赋予null或primitive主数据类型的默认值。

纠正:被标记为transient的实例变量,在还原的时候会被赋予null或primitive主数据类型的默认值。

验证:P443 transient变量会被赋值null的对象引用或primitive主数据类型的默认为0、false等值。

另译:如果希望序列化过程跳过该实例变量,则应将该实例变量标记为transient。标记为transient的实例变量在解序列化时会恢复为null(对于对象引用)或者默认值(对于primitive主数据类型)

原文:Mark an instance variable with the transient keyword if you want serialization to skip that variable. The variable will be restored as null (for object references) or default values (for primitives).

备注:P439中所说的transient所标记的实例变量不能被序列化,这个不能被序列化不是指这个实例变量的值不存在了,而是指该实例变量的值不会被保存下来。

29. P452右侧两幅图片之间的文字

错误:File对象代表文件名为“GameFile.txt”的文件

纠正:File对象代表文件名“GameFile.txt”

验证:P452 File对象代表特定文件的地址,但不是文件本身

原文:A File object represents the filename “GameFile.txt”

30. P467排排看

错误:...FileOutputStream( dg.ser );...FileInputStream( dg.ser );

纠正:...FileOutputStream("dg.ser");...FileInputStream("dg.ser");

31. P479最下面的图片

错误:Socket输出

纠正:Socket输出流

原文:Socket’s output stream (we don’t need to know the actual class)

32. P507 public void run()的注释,翻译错位问题

错误:检查账户余额,如果透支就列出信息,不然就去睡一会儿,然后醒来完成提款操作

纠正:在run()方法中,线程通过一循环并且尝试在每次迭代中完成提款,每完成一次提款就检查一次余额,以查看账户余额是否透支。

原文:In the run() method, a thread loops through and tries to make a withdrawal with each iteration. After the withdrawal, it checks the balance once again to see if the account is overdrawn.

33. P507 private void makeWithdrawal(int amount)的注释

错误:检查账户余额,如果透支就列出信息,不然就去睡一会儿,然后醒来完成提款操作

纠正:检查账户余额,如果余额不足就列出信息,不然就去睡一会儿,然后醒来完成提款操作

原文:Check the account balance, and if there’s not enough money, we just print a message. If there IS enough, we go to sleep, then wake up and complete the withdrawal, just like Ryan did.

34. P517最后一行

错误:任何同步化线程

纠正:任何同步化方法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。