本帖最后由 joure 于 2013-11-24 12:56 编辑
前两天在旧书摊上淘了一本《Java程序设计简明教程》电力出版社, 刘克成主编,看到书中这个例子感到很是疑惑
Sub类中出现了两次doSomething()方法,实在不明白这样做有什么意义
编译运行了一下报错
F:\JAVA\Test>javac FusDemo.java
FusDemo.java:32: 错误: 已在类 Sub中定义了方法 doSomething()
void doSomething()
就算是函数重载也是需要不同的参数的,这两个doSomething()方法的参数都为空,报错也是理所当然的吧
不知道是否是教材编译或者印刷失误,不敢妄下决断,请小伙伴们来看一下,如果是教材真的错了,这本书我是断然不敢看下去了
有这本书的同学也留意一下,在62页,稍后传这一页的照片上来
class Father
{
int x= 0;
Father()
{
x=3;
System.out.println("in SuperClass:x="+x);
}
void doSomething()
{
System.out.println("in SuperClass.doSomething()");
}
}
class Sub extends Father
{
int x= 0;
Sub()
{
super();
x=5;
System.out.println("in SubClass:x="+x);
}
/* ?????????????????
void doSomething()
{
super.doSomething();
System.out.println("in SubClass:+x"+x);
}
*/
void doSomething()
{
super.doSomething();
System.out.println("in SubClass.doSomething()");
System.out.println("Super.x="+super.x+"sub.x="+x);
}
}
class FsDemo
{
public static void main(String[] args)
{
Sub s=new Sub();
s.doSomething();
}
}
http://g.hiphotos.bdimg.com/album/s%3D680%3Bq%3D90/sign=f7564ff19e82d158bf825ab9b03168e5/0b7b02087bf40ad144860efc552c11dfa9ecce4b.jpg
|