定义了一个抽象父类,这是其中的一个抽象方法public abstract void say();
子类Boy和Girl中的say方法分别是public void say(String content){
System.out.println(getName()+"用带有阳刚之气的声音对"+girlfriend.getName()+"说:"+content);
}public void say(String content){
System.out.println(getName()+"微笑着用甜美的声音对慕容紫英说:"+content);
}
此时报错,没有重写父类中的say方法。但是测试类中可以运行并且没问题。run中提示有错误但不影响运行。
求问:
抽象类的子类不是应该要重写父类中所有的抽象方法么,上面子类没有重写只是重载为啥不影响运行。。
子类Boy和Girl中的say方法分别是public void say(String content){
System.out.println(getName()+"用带有阳刚之气的声音对"+girlfriend.getName()+"说:"+content);
}public void say(String content){
System.out.println(getName()+"微笑着用甜美的声音对慕容紫英说:"+content);
}
此时报错,没有重写父类中的say方法。但是测试类中可以运行并且没问题。run中提示有错误但不影响运行。
求问:
抽象类的子类不是应该要重写父类中所有的抽象方法么,上面子类没有重写只是重载为啥不影响运行。。
解决方案 »
- 集合类问题
- struts2出现java.lang.OutOfMemoryError: PermGen space!
- 中文String转utf8,再转回中文
- 昨天刚接触J2SE,问个新手问题
- 看《深入java类装载》时,有一疑问,请各位大师留步,拜托了
- 请问如何精确控制纸长?
- 怎样增长定长的数字字串,前面补”0”: //eg. Num_Incre (‘00023’) => ‘00024’
- 能否从一个网页链接直接击活一个JFRAME的窗口
- 我的是jre1.4.0的版本。为什么想倒入com.sun.java.swing.border.* 时没有呢??
- 数据库访问函数的调用问题--100分寻找高手救援,分数不够,可以在加,在线急,急,急,急。。。。。
- 初学者,不知道这是怎么了,是环境变量不对还是什么
- String对象引用问题,求助
编译没有报错,如果运行没有调用抽象方法也不会报错,应该是忽略了吧,看他的class文件里面有显示说存在问题,没有实现父类方法,但是为什么能通过编译就不知道了.
class Boy extends Person {
^
Test.java:19: 错误: Girl不是抽象的, 并且未覆盖Person中的抽象方法say()
class Girl extends Person {
^
3 个错误在eclipse里面由于保存一次编译一次,之前可能有编译好的文件,如果有错误,eclipse会用上次编译通过的文件执行,其实最新的编译过不了的,在main方法中调用可能出现问题的代码,则会抛异常