首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java8中,接口是实用程序类的有效替代品吗?

在Java8中,接口是实用程序类的有效替代品吗?
EN

Stack Overflow用户
提问于 2015-06-18 09:51:37
回答 3查看 9.1K关注 0票数 26

在过去的十年左右,我一直在为我的Java实用程序类使用下面的模式。该类只包含静态方法和字段,声明为final,因此不能进行扩展,并且具有private构造函数,因此不能实例化。

public final class SomeUtilityClass {
    public static final String SOME_CONSTANT = "Some constant";

    private SomeUtilityClass() {}

    public static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}

现在,随着Java8中static methods in interfaces的引入,我最近发现自己在使用实用程序接口模式:

public interface SomeUtilityInterface {
    String SOME_CONSTANT = "Some constant";

    static Object someUtilityMethod(Object someParameter) {
        /* ... */

        return null;
    }
}

这让我摆脱了构造函数,以及接口中隐含的大量关键字(publicstaticfinal)。

这种方法有什么缺点吗?在实用程序接口上使用实用程序类有什么好处吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30905236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档