java 错误

[复制链接]
查看11 | 回复3 | 2007-4-29 19:44:44 | 显示全部楼层 |阅读模式
源程序出错了。应该向楼主一样加一个参数,或者把返回值改成void。将B中的方法改过后,就不会出错了,不过已经不是覆盖A中的方法了。
回复

使用道具 举报

千问 | 2007-4-29 19:44:44 | 显示全部楼层
改了才对不是覆盖,只有参数个数和类型完全一致才算覆盖
回复

使用道具 举报

千问 | 2007-4-29 19:44:44 | 显示全部楼层
第一次的程序是出现错误:B 中的 show() 无法覆盖 A 中的 show();正在尝试使用不兼容的返回类型你提供的第二次修改后成功所以你是对的 但不是类A中show方法的覆盖,因为覆盖的条件是:子类与父类应保持完全相同的方法头声明,即完全相同的方法名,返回值和参数列表,否则只是在子类中定义与父类毫无关系的成员方法。好了 我就知道这些
回复

使用道具 举报

千问 | 2007-4-29 19:44:44 | 显示全部楼层
覆盖的条件你知道吗?首先子类的方法和父类被覆盖的方法名字要相同二是返回类型要相同三是参数列表也要相同四是子类异常范围要不大于父类的异常范围五是子类的访问范围不小于父类的访问范围只要满足这五个条件你随便改吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行