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

在抽象类中公开静态方法被认为是好还是坏实践

在抽象类中公开静态方法被认为是好还是坏实践

九州编程 2023-10-13 15:23:21
我最近遇到一些代码,其中在类public static中定义了方法abstract。我想知道这是否被认为是好的做法还是反模式?我制作了一个简单的示例程序来说明我的意思。public abstract class StaticMethodsInAbstractClassesStudy {    public static int adder(int a, int b){        return a + b;    }}public class StaticMethodsInClassesStudy {    public static void main(String [] args){        System.out.println(StaticMethodsInAbstractClassesStudy.adder(2, 3));    }}当您运行代码时,您会得到结果,5证明我能够在类内部运行代码abstract。我故意不添加extends来StaticMethodsInClassesStudy强调这一点,即完全可以在类中直接运行代码abstract而无需实例化扩展类。就我个人而言,我认为这是不好的做法,因为您将abstract类用作普通类,从而绕过了类的意图abstract。这些类型的方法不应该保存在单独的“普通”java 类中,例如实用程序类吗?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

这本身并不是一个坏习惯,除非抽象类实际上并不意味着要被子类化,并且抽象只是为了防止实例化。对于仅提供静态实用程序的类,最佳实践是将其设为最终的,并具有私有构造函数。



查看完整回答
反对 回复 2023-10-13
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

我同意你的观点,abstract类让我们想到一些在实例化之前不要使用的东西。

在抽象类中插入一些支持方法是允许的并且很有用,而不强制开发人员实现该类。

另外,您可以在 an 中Interface放置静态方法,并且可以在不实现该接口的情况下使用它们。


查看完整回答
反对 回复 2023-10-13
  • 2 回答
  • 0 关注
  • 67 浏览

添加回答

举报

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