所以我看着谷歌的I / O应用程序,iosched,我注意到它们通过嵌套接口实现常量。例如,在他们的ScheduleDatabase类中,他们有:
public class ScheduleDatabase extends SQLiteOpenHelper {
interface Tables {
String BLOCKS = "blocks"
String TRACKS = "tracks"
}
}
但我一直在网上读到,创建一个只存储常量的接口是不好的java实践。但正如你在ScheduleDatabase课程中看到的那样,为什么他们采用这种方法是有道理的。所以我想知道这是不是很差的做法?
答案 0 :(得分:1)
我认为这是一个编码风格问题,这是一个有争议的问题。一方面你可以争辩说接口是用来定义类之间的契约,而这些常量实际上并不是那个契约的一部分(它们是数据),另一方面你可以说这些常量封装到命名空间中是一个好的,并更好地组织代码。
我无法确定这种模式是好还是坏。如果你只有几个常数,那么我肯定不会使用它,但如果你有一堆常量,你可以逻辑地组织成组,那么你可以考虑它。当然,我对这种模式的嵌套接口版本比常规接口版本更为舒服。
答案 1 :(得分:-1)
你可以通过一些看法来阅读有关Java的任何内容 - 并非所有这些都是工程