为什么 return 在 Java 中为假?
Why return false in Java?
我正在编写一个使用 AdapterView 的 Android 应用程序。 AdapterView class 中有多个对 IsInFilterMode()
的调用,这只是一个 returns false 的单行函数。我不能重写这个函数,所以我一辈子都弄不明白为什么这个函数存在,如果它只是 returns false。描述说它 returns 如果它处于过滤模式则为真。下面是 IsInFilterMode()
的定义:
/**
* Indicates whether this view is in filter mode. Filter mode can for instance
* be enabled by a user when typing on the keyboard.
*
* @return True if the view is in filter mode, false otherwise.
*/
boolean isInFilterMode() {
return false;
}
我对 Java 比较陌生,所以我可能遗漏了一些 Java 源代码的典型内容?是否有其他代码被我混淆了?
首先,缺少可见性修饰符通常被称为 package-private。它在可见性等级上介于 protected
和 private
之间 - 只有同一包内的其他 类 可以覆盖包私有方法。有关详细信息,请参阅 Controlling Access to members of a Class。
Android 框架经常使用这个 - 它允许框架覆盖这些方法,而不允许最终用户(Android 开发人员)做同样的事情,并可能干扰框架的运作方式。
在这种情况下,AdapterView
s 的默认设置是根本不支持过滤模式。
一些 AdapterView
sub类 确实支持它。例如,AbsListView
及其后代。在 AbsListView
的情况下,此方法 returns 跟踪列表是否实际处于筛选模式的内部 属性 的值。
我正在编写一个使用 AdapterView 的 Android 应用程序。 AdapterView class 中有多个对 IsInFilterMode()
的调用,这只是一个 returns false 的单行函数。我不能重写这个函数,所以我一辈子都弄不明白为什么这个函数存在,如果它只是 returns false。描述说它 returns 如果它处于过滤模式则为真。下面是 IsInFilterMode()
的定义:
/**
* Indicates whether this view is in filter mode. Filter mode can for instance
* be enabled by a user when typing on the keyboard.
*
* @return True if the view is in filter mode, false otherwise.
*/
boolean isInFilterMode() {
return false;
}
我对 Java 比较陌生,所以我可能遗漏了一些 Java 源代码的典型内容?是否有其他代码被我混淆了?
首先,缺少可见性修饰符通常被称为 package-private。它在可见性等级上介于 protected
和 private
之间 - 只有同一包内的其他 类 可以覆盖包私有方法。有关详细信息,请参阅 Controlling Access to members of a Class。
Android 框架经常使用这个 - 它允许框架覆盖这些方法,而不允许最终用户(Android 开发人员)做同样的事情,并可能干扰框架的运作方式。
在这种情况下,AdapterView
s 的默认设置是根本不支持过滤模式。
一些 AdapterView
sub类 确实支持它。例如,AbsListView
及其后代。在 AbsListView
的情况下,此方法 returns 跟踪列表是否实际处于筛选模式的内部 属性 的值。