gpt4 book ai didi

用于存储常量的 Android 嵌套接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 15:20:35 25 4
gpt4 key购买 nike

所以我查看了 Google 的 I/O 应用程序 iosched,我注意到它们通过嵌套接口(interface)实现常量。例如,在他们的 ScheduleDatabase 类中,他们有:

public class ScheduleDatabase extends SQLiteOpenHelper {
interface Tables {
String BLOCKS = "blocks"
String TRACKS = "tracks"
}
}

但我一直在网上阅读到,创建一个接口(interface)来仅存储常量是糟糕的 Java 实践。但正如您在 ScheduleDatabase 中看到的那样类(class),他们为什么采用这种方法是有道理的。所以我想知道这是否也是不好的做法?

最佳答案

我认为这是一个有争议的编码风格问题。一方面,您可能会争辩说接口(interface)是用于定义类之间的契约,而这些常量实际上并不是该契约的一部分(它们是数据),另一方面,您可能会争辩说将这些常量封装到 namespace 中是一个好东西,可以更好地组织代码。

我真的不能确定这种模式是好是坏。如果你只有几个常量那么我会说绝对不要使用它,但如果你有一堆常量可以逻辑地组织成组那么你可以考虑它。当然,与常规界面版本相比,我更喜欢这种模式的嵌套界面版本。

关于用于存储常量的 Android 嵌套接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com