返回列表 发帖

java入门123书里从第十章到第十二章的印错的一些小错误。

前两月买了这本书,现在已经看到这本书的线程了。首先很感谢这本书的作者。让我很快地学到java语言的基本知识。觉着这本书很不错,应该推荐给更多的学习者,所以决定把书里印错的地方挑出来,为以后再版时书籍更好。(不知是否有人指出错误了)
下面是我在第十章到第十二章中发现的问题:
241页:在一类车,一个类 标题下面的文字:“现在把代码从新编写”改为“现在把代码重新编写”
242页:if(isBus) 这个语句应该不用了,因为已经分类写了。(如果要,也要在class声明boolean isBus变量)
245页:第三行:“那个类”改为“哪个类”
246页:也是if(isBus)问题
264页:第二行 “CarBase类是SportCar类的对象”这句话应该是错的,望修正。
275页:UsingPara类下面的文字后面开始,这一节,经常把 followSpeed写成followUp。
283页:UseCarGroup类中单行注释那里“创建一个CarBase对象”应改为“创建一个SportCar对象”。
313页:“通过上面的例程我们看到,可以在非静态方法中使用非静态变量”删掉“非”字。
333页:第一行代码:CarStatus改为carStatus 和第二行也是这样改。
335页:Bike类 getBikeStatus方法中:CarStatus改为carStatus 和下面return也是这样改。
363页:第四个方框那里‘接口中规定的说有抽象方法”改为‘接口中规定的所有抽象方法”。

可能改得不对,望见谅。谢谢。

我自己学习中还有个问题,好像接口可以多继承,望版主指导下:
interface A{}
interface B{}
interface C extends A ,B {}
好像也没报错哦。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
用java学习面向对象编程。

1# java_xiaobei


好得。我明天到单位确认一下。

TOP

书不在手边,不能一一核实。下面是几个肯定有问题的:

241页:在一类车,一个类 标题下面的文字:“现在把代码从新编写”改为“现在把代码重新编写”
242页:if(isBus) 这个语句应该不用了,因为已经分类写了。(如果要,也要在class声明boolean isBus变量)
245页:第三行:“那个类”改为“哪个类”
246页:也是if(isBus)问题
283页:UseCarGroup类中单行注释那里“创建一个CarBase对象”应改为“创建一个SportCar对象”。
363页:第四个方框那里‘接口中规定的说有抽象方法”改为‘接口中规定的所有抽象方法”。

===========================================
下面的需要根据上下文来确定
264页:第二行 “CarBase类是SportCar类的对象”这句话应该是错的,望修正。(应该是父类吧)
275页:UsingPara类下面的文字后面开始,这一节,经常把 followSpeed写成followUp。
313页:“通过上面的例程我们看到,可以在非静态方法中使用非静态变量”删掉“非”字。(非静态,应该是指是成员,需要根据例程来看)
333页:第一行代码:CarStatus改为carStatus 和第二行也是这样改。
335页:Bike类 getBikeStatus方法中:CarStatus改为carStatus 和下面return也是这样改。

可能改得不对,望见谅。谢谢。

==========================================
interface A{}
interface B{}
interface C extends A ,B {}
接口的extends 和implements没有本质不同。Java不允许多继承是针对类来说的,而对于接口则无所谓。核心就是接口中不允许有方法的实现。所以不会造成什么困扰。所以你给出的这个例子可以算是一个语法糖。

在你给的这个例子中,如果ABC都是类的话,而且A和B中都有一个m1方法,那么当用C的对象调用m1方法的时候,无从得知到底应该调用A的还是B的m1方法。这时候语法就会更加复杂,如果你知道CPP的多继承,可以参考CPP多继承对于这种情况的语法。而如果都是接口,就没有这种问题,因为接口中的方法都是抽象方法,没有实现。所以不存在“调用的是A的还是B的m1方法”,因为实际调用的,其实还是C的m1方法。

TOP

嗯,我知道了。调用C(实现类)的方法。谢。
用java学习面向对象编程。

TOP

返回列表