我是Android编程的新手,在下面的代码中几乎没有混淆。 这部分代码来自android开发者网站:
public final class FeedReaderContract {
// To prevent someone from accidentally instantiating the contract class,
// give it an empty constructor.
public FeedReaderContract() {}
/* Inner class that defines the table contents */
public static abstract class FeedEntry implements BaseColumns {
public static final String TABLE_NAME = "entry";
public static final String COLUMN_NAME_ENTRY_ID = "entryid";
public static final String COLUMN_NAME_TITLE = "title";
public static final String COLUMN_NAME_SUBTITLE = "subtitle";
...
}
}
我在Java文档和其他一些博客中阅读了一些关于嵌套类的文章,并了解了使用嵌套类的以下原因:
但是在这里,我无法找到任何使用嵌套类的东西。
制作嵌套类的目的究竟是什么?
答案 0 :(得分:2)
此特定嵌套类用作与其主类相关的String
常量的名称空间。
abstract
,因此它不用于实例化BaseColumns
接口,这实际上是一种转移" dump"字符串常量进入FeedEntry
类为什么他们使用嵌套类而不是独立的类?
使用嵌套类强调"语义接近"内部类的外部类。它向您的代码的读者提出FeedEntry
只能在FeedReaderContract
的上下文中解释。否则,FeedEntry
毫无意义。从本质上讲,这是为代码的人类读者完成的,因为在这种情况下,编译器没有区别。