在发布 Java 应用程序之前是不是必须更改访问修饰符?

Posted

技术标签:

【中文标题】在发布 Java 应用程序之前是不是必须更改访问修饰符?【英文标题】:Do I have to change access modifiers before I release a Java application?在发布 Java 应用程序之前是否必须更改访问修饰符? 【发布时间】:2015-07-27 02:30:12 【问题描述】:

在发布 Java 应用程序之前,是否需要更改类的访问修饰符,或者是否有其他措施可以防止有人将最终 JAR 导入他们的项目之一并使用这些类?

我唯一能想到的就是让任何公共课程成为最终课程,但这仍然让它们暴露在外。

【问题讨论】:

一旦您将代码发布给第三方,第三方就可以访问它。访问修饰符的作用是阻止错误,而不是防止渎职。您可以混淆您的代码,使其更难理解。 这可能对***.com/questions/1879061/…有帮助 你想达到什么目的?避免用户在使用您的库时出错或阻止用户访问(查看)您的源代码? 部分原因是阻止用户访问系统的重要部分并可能破坏它,但我当前的项目在不同的包中包含部分,因此必须公开它们以相互访问。另一部分只是想发布干净的代码,只公开需要的东西。对于我目前的项目,我不需要担心这一点,但我喜欢在真正需要它们之前练习好习惯/新技能。 【参考方案1】:

这取决于您发布的内容。如果它是一个 Web 应用程序,那么你不会(假设在本地运行应用程序时一切正常);但是,如果它是一个库(如外部 JAR API),那么您需要确保您希望用户使用的方法是可访问的。

【讨论】:

以上是关于在发布 Java 应用程序之前是不是必须更改访问修饰符?的主要内容,如果未能解决你的问题,请参考以下文章

跳槽,这些java面试题必须会,99%碰到!

访问:检查文本框是不是为空,如果是则更改文本框背景颜色

升级第三方 jar 时是不是必须重新编译我的应用程序?

将 java 项目导出到 jar 更改了访问修饰符

microsoft office professional PLUS 2010无法验证产品的许可,必须使用控制面板修

在状态更新和样式更改之前,我必须单击我的链接两次