>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 31494 个阅读者 刷新本主题
 * 贴子主题:  《Java面向对象编程第二版》勘误以及建议,欢迎跟帖 回复文章 点赞(0)  收藏  
作者:sunweiqin    发表时间:2016-09-22 14:40:59     消息  查看  搜索  好友  邮件  复制  引用

勘误汇总信息下载:
http://www.javathinker.net/book/java/modify.docx

以上勘误信息以第一次印刷的书本为准。勘误内容多数为笔误,不影响阅读。只有第8章的8.4(小结)对知识作为了稍微修改。在本书以后的重印中,会直接修改纸质书中的内容。
---------------------------------------------------------------------------
能真正帮助读者答疑解惑的书才是有价值的书。《Java面向对象编程第二版》已经出版,作者个人的力量总是有限,现在还要靠大家群策群力,用慧眼寻找书中的不足和错误之处,共同完善这本书。希望它能成为让广大Java开发人员受益的技术宝典。

如果您对书的内容安排有更好的建议,以及对于本书的排版需要改进,也欢迎提出!

欢迎大家跟帖,为本书提出宝贵的意见。

谢谢!
孙卫琴!



程序猿的技术大观园:www.javathinker.net

[这个贴子最后由 admin 在 2023-03-10 09:37:36 重新编辑]
  Java面向对象编程-->操作符
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->JPA API的高级用法
  Java网络编程-->创建非阻塞的HTTP服务器
  精通Spring-->组合(Composition)API
  Vue3开发-->绑定CSS样式
  求素数
  面试官问:如何排除Java虚拟机的GC引起的CPU飙高?
  面试问我,创建多少个线程合适?我该怎么说
  Java并发之volatile关键字内存可见性问题
  Synchronized与ReentrantLock区别总结
  Eclipse使用指南:创建Java项目的步骤
  Eclipse使用指南:常用视图(View) 的用法
  常用的正则表达式汇总
  正则表达式性能调优
  Java入门实用代码:集合输出
  Java入门实用代码:将文件内容复制到另一个文件
  Java入门实用代码:格式化时间(SimpleDateFormat)
  Java判断一个字符是否为中文字符
  Java入门实用代码:删除一个文件目录
  java零基础入门-面向对象篇 抽象类
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 fangbz 
  
威望: 0
级别: 新手上路
魅力: 110
经验: 110
现金: 1016
发文章数: 2
注册时间: 2017-01-19
 消息  查看  搜索  好友  邮件  复制  引用


请教下老师,《Java面向对象编程第二版》 会出kindle版本吗
发文章时间 2017-01-19 13:55:14
 IPIP: 已设置保密 1 楼     
该用户目前不在线 sunweiqin 
  

威望: 0
级别: 高级天王 [荣誉]
魅力: 680
经验: 680
现金: 1528
发文章数: 191
注册时间: 2016-09-12
 消息  查看  搜索  好友  邮件  复制  引用


目前还没有这样的打算呢。
发文章时间 2017-02-09 14:57:58
 IPIP: 已设置保密 2 楼     
该用户目前不在线 tao0091 
  
威望: 0
级别: 新手上路
魅力: 105
经验: 105
现金: 1008
发文章数: 1
注册时间: 2017-05-26
 消息  查看  搜索  好友  邮件  复制  引用


老师,我以前大概看过面向对象编程第一版,学编程最重要的是做一些编程习题,第一版每章后面都有思考题,但是没有编程习题,不知道第二版中是否有编程习题,如果第二版有修订的化是否可以增加这方面。还有编程习题最好有习题答案下载,谢谢老师!
发文章时间 2017-05-26 18:39:16
 IPIP: 已设置保密 3 楼     
该用户目前不在线 sunweiqin 
  

威望: 0
级别: 高级天王 [荣誉]
魅力: 680
经验: 680
现金: 1528
发文章数: 191
注册时间: 2016-09-12
 消息  查看  搜索  好友  邮件  复制  引用


多谢您给出的建议,非常好。第二版和第一版比较相似,稍微增加了一些编程的练习题。如果以后再出第三版时,会考虑提供更多的编程题
发文章时间 2017-06-26 12:54:33
 IPIP: 已设置保密 4 楼     
该用户目前不在线 jianangel 
  
威望: 0
级别: 新手上路
魅力: 105
经验: 105
现金: 1008
发文章数: 1
注册时间: 2017-09-08
 消息  查看  搜索  好友  邮件  复制  引用


请教下老师,《Java面向对象编程第二版》 会有配套的ppt吗?
发文章时间 2017-09-08 10:16:59
 IPIP: 已设置保密 5 楼     
该用户目前不在线 admin 
  

威望: 0
级别: 究级天王 [荣誉]
魅力: 129
经验: 129
现金: 168
发文章数: 31
注册时间: 2016-09-09
 消息  查看  搜索  好友  复制  引用


有配套视频讲座:http://www.javathinker.net/lesson.jsp  ,过一阵还会公布配套视频
发文章时间 2017-09-16 21:09:18
 IPIP: 已设置保密 6 楼     
该用户目前不在线 ytfrdfiw 
  
威望: 0
级别: 新手上路
魅力: 120
经验: 120
现金: 1032
发文章数: 4
注册时间: 2017-11-03
 消息  查看  搜索  好友  邮件  复制  引用


孙老师,您好。我有2个问题想请教一下,烦请回复,谢谢。
1、在读第二版中(第一版也是一样的),p216中 private final Date birthday;//实例常量
在p217中,又有这样的用语(第一段代码下)“对于final类型的实例变量”,这是不是让人有些误解。
2、您这句话后举的代码例子
public class Sampe{
static final int a=1;
}
这个类中的a不是实例常量,而不一个静态常量吧?与您的行文是不是有冲突。

上述两个问题,我在勘误表中没有看到,不知是否我的理解有误。谢谢。
发文章时间 2017-11-03 20:25:01
 IPIP: 已设置保密 7 楼     
该用户目前不在线 sunweiqin 
  

威望: 0
级别: 高级天王 [荣誉]
魅力: 680
经验: 680
现金: 1528
发文章数: 191
注册时间: 2016-09-12
 消息  查看  搜索  好友  邮件  复制  引用


to ytfrdfiw

感谢你提出的建议。你看书看得非常认真仔细。书中的表述确实有点容易令人混淆。

在这里做个说明。7.3.3节开头讲到:用final修饰的变量表示取值不会改变的常量。所以,在书中,变量的范畴比常量要大。常量属于变量中的一种,特点是只能赋值一次,取值不会变。

如果您在阅读中感到有冲突,可以把书中所有的常量理解成“取值不变的变量,用final修饰的变量”。

为了避免混淆,如果以后书再改版,会避免提到“常量”这个名词。


发文章时间 2017-11-03 22:56:01
 IPIP: 已设置保密 8 楼     
该用户目前不在线 ytfrdfiw 
  
威望: 0
级别: 新手上路
魅力: 120
经验: 120
现金: 1032
发文章数: 4
注册时间: 2017-11-03
 消息  查看  搜索  好友  邮件  复制  引用


感谢孙老师的回复。
您的意思其实往深里想一下,是明白的。final int var = 9;
var叫变量名,它存储的值是常量,不能再次修改。您要表达的就是这个意思了。
变量只是相对于名字而言,常量是相对于存储的值的可变性而言。
这样理解应该没有问题吧?
发文章时间 2018-08-23 09:55:42
 IPIP: 已设置保密 9 楼     
该用户目前不在线 ytfrdfiw 
  
威望: 0
级别: 新手上路
魅力: 120
经验: 120
现金: 1032
发文章数: 4
注册时间: 2017-11-03
 消息  查看  搜索  好友  邮件  复制  引用


原来这个问题发错了。抱歉。

[这个贴子最后由 ytfrdfiw 在 2018-08-24 09:00:49 重新编辑]
发文章时间 2018-08-23 10:34:31
 IPIP: 已设置保密 10 楼     
该用户目前不在线 Andy 
  
威望: 0
级别: 新手上路
魅力: 105
经验: 105
现金: 1008
发文章数: 1
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


4.9.1节 基本数据类型转换:第一个代码段中的最后一行:
short d=(boolean)b;

似乎应该改为:
short d=(short)b;
发文章时间 2018-10-12 11:48:00
 IPIP: 已设置保密 11 楼     
该用户目前不在线 zishinan 
  
威望: 0
级别: 新手上路
魅力: 115
经验: 115
现金: 1024
发文章数: 3
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


老师您好,我在学习多线程时发现例13-23实际执行的流程和书上写的不一样,print()方法在线程睡眠时执行了,是我没有理解对吗?

这个问题我自己想通了,主线程print()方法执行在run之前了。
建议老师用sleep保证执行结果和逻辑一致。

public class Machine extends Thread {
    private int a = 1;

    public synchronized void print() {
        System.out.println("a=" + a);
    }

    public void run() {
        synchronized (this) {
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println("run method");
            a = 1 / 0;  //抛出ArithmeticException
            a++;
        }
    }

    public static void main(String args[]) throws InterruptedException {
        Machine machine = new Machine();
        machine.start();
        Thread.yield();
        // 这里让主线程sleep一段时间(比machine线程短),保证输出结果准确
        Thread.sleep(1000);
        machine.print();
    }
}

[这个贴子最后由 zishinan 在 2019-03-20 09:48:14 重新编辑]
发文章时间 2019-03-18 22:51:29
 IPIP: 已设置保密 12 楼     
2页 17条记录 当前第1页   首页上一页 [ 1 2下一页尾页
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。