为了账号安全,请及时绑定邮箱和手机立即绑定

Java:抽象类继承非抽象类,且不包含抽象方法有何负面作用吗?

Java:抽象类继承非抽象类,且不包含抽象方法有何负面作用吗?

蝴蝶刀刀 2019-03-01 10:30:08
我定义了一个抽象类 继承非抽象类, 且不包含抽象方法 但是运行 OK 这样做有啥负面作用? public abstract class ExceptionBase extends Exception { protected int status; protected int code; public ExceptionBase(String msg){ super(msg); } public ExceptionBase(int status, int code, String msg){ super(msg); this.status = status; this.code = code; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String toString(){ return String.format("%s [status=%i, code=%d, message=%s]", this.getClass().getSimpleName(), status, code, getMessage()); } }
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

Object类是非抽象的,而所有类都继承了Object。
确定是否用继承 要确定是 is-a 关系 而不是 has-a

查看完整回答
反对 回复 2019-03-01
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

感觉abstract class表示的是"is a"关系,interface表示的是"like a"关系

查看完整回答
反对 回复 2019-03-01
?
动漫人物

TA贡献1815条经验 获得超10个赞

没有什么负面作用

  1. ExceptionBase的作用是什么?:提供一套标准的toString()方法,明确详尽的展示异常信息
  2. 抽象类的与普通类的区别是,你无法实例化抽象类对象
  3. 你不希望你的系统内部直接用ExceptionBase,而是希望 用OrderException,PaymentException等更详尽、细致的自定义异常的时候,采用这种方式我反而觉得很好 大体是 OrderException extends ExceptionBase这之类的
查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 466 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信