我的应用程序中有一个数据类。我的应用程序永远不会被用作公共(public) API,我将是我项目中唯一开发代码的人。
我正在尽我所能节省每一盎司的处理器和内存资源。
让我的数据类中的数据成员具有公共(public)/ protected /默认保护以便我不必使用 getter 是不是一个坏主意?使用 setter/getter 需要稍微多一点的内存和创建堆栈等等……我认为这是没有必要的。我认为使用 getter 的唯一原因是为了保护/隐私,但如果我是唯一的编码员并且没有其他人会使用我的 API,那么不使用 getter 是个坏主意吗?
请告诉我这是否愚蠢。
最佳答案
如果您要替换 getter/setter 来优化性能/内存,那么您采用了错误的方法。这些几乎肯定不会成为您的应用程序运行缓慢或使用过多内存的原因。
优化的主要错误是在你知道你需要之前就去做。只有当你有真实的信息显示你在哪里浪费了最多的时间/内存时才进行优化,然后花时间优化它。这背后的想法是,通过在一段占总运行时间 80% 的代码中削减 5% 的时间,比在一段仅贡献 5% 的代码中削减 20% 的时间,你将获得更多 yield 。总运行时间。 (同样适用于内存)。
此外,我会按照您的建议谨慎设计应用程序,因为这意味着某些属性(例如:简单属性)可以直接访问,而其他属性(更复杂的派生属性,或您不需要的属性)暴露底层类型)将有 getters/setters。因此,您最终会混合使用多种访问方式,这将难以维护。
关于java - 在 Java 中,使对象的成员公开可用是不是一个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554767/