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

Java在抽象类中定义抽象方法后 再定义static 方法去调用抽象方法的意义是什么

Java在抽象类中定义抽象方法后 再定义static 方法去调用抽象方法的意义是什么

慕侠2389804 2019-04-24 18:19:54
之前课堂上布置的作业,今天看code 不是很明白为什么这样设计。定义一个集合set 为 abstract class部分代码如下:public abstract class FSet {     //定义 abstract method     abstract boolean isEmptyMethod();     //定义static method     public static boolean isEmpty(FSet s) {         return s.isEmptyMethod();     } } public class EmptySet extends FSet {     boolean isEmptyMethod() {         return true;     } } public class Include extends FSet {     boolean isEmptyMethod() {         return false;     } }为什么要定义一个static 方法 然后去调用 abstract 方法? 这样做的目的是什么?直接用子类去override 父类方法 有什么缺陷吗?
查看完整描述

3 回答

?
收到一只叮咚

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

子类实现抽象方法,这样不同的子类对这个抽象方法有不同的实现,客户程序只需保持对子类对象的父类引用即可而无需关心具体的子类到底是哪个,这样就实现了多态调用。


查看完整回答
反对 回复 2019-05-14
  • 3 回答
  • 0 关注
  • 746 浏览

添加回答

举报

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