spring工具类assert没有一个抽象方法,类却定义成了抽象类,什么设计思想

如题,spring工具类assert没有一个抽象方法,类却定义成了抽象类,什么设计思想?

1个回答

看一下源码,assert工具类中提供的都是静态方法(static method)。
我们知道调用静态方法没必要生成类的实例,直接用类名.静态方法的形式调用。

加上abstract关键字,将assert类定义成抽象类,从而防止直接由assert类生成实例。
这就是设计者的意图。

用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

ouyangguangfly
ouyangguangfly 回复战在春秋: 目的只有一个,就是不让使用者生成实例,别想那么多,没人会去继承工具类的,工具类里面都是静态方法,怎么继承?
大约 2 年之前 回复
fight_in_dl
战在春秋 题目中这样的设计经常用于:工具类
2 年多之前 回复
fight_in_dl
战在春秋 以题目中这样的设计,父类提供了通用功能,子类如果有需要,可以重写某个函数,其它的功能调用父类的函数即可。如果是抽象方法,继承时必须(注意是必须)重写这个抽象方法。很多情况下,父类提供的这些静态函数已经足够用了。
2 年多之前 回复
LQW_java_home
LQW_home 这样设计有什么性能优势吗?还是就是不想让人用实例,和子类有什么关系吗?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!