问个抽象类有参数的问题,欢迎大家帮助!

杭州丹尼 2005-11-10 03:26:44
Entity 是一个类
UserEntity 是Entity的子类
现在有
abstract class BaseForm{
abstract setEntity(Entity entity)
}

class UserForm extends BaseForm{
setEntity(UserEntity entity){ //编译器指出问题是这里需要写Entity 类型,因为抽象类的方法就是Entity类型,我的疑虑也是这里
this.entity = entity;
}
}
我这样做,编译器说不行,问了几个同事,他们直觉上都觉得可以,但试出来都不行,请大家帮忙!!
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerlg 2005-11-10
  • 打赏
  • 举报
回复
bixuehui(边疆)说的8错
ypdarling 2005-11-10
  • 打赏
  • 举报
回复
你这个肯定不行
举个例子
肉和草 都是饭的子类

abstract class 人{
abstract 吃(饭 fan)
}


class 男人 extends 人{
吃(肉 rou){
//eat。。。
}
}

这样的话,难道男人就不能吃草了吗?
楼主明白了吗?
bixuehui 2005-11-10
  • 打赏
  • 举报
回复
这样是不可以的UserForm 必须实现父类BaseForm的setEntity方法。
子类实现父类虚方法的原则是参数,类型,返回值必须相同。
虽然你实现setEntity(UserEntity entity)时声明的参数类型是Entity的子类也是不允许的,
你可以声明参数是Entity类型,传递参数可以是UserEntity 类型
setEntity(Entity entity){
this.userEntity = entity;
}

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧