我正在挖掘Android源代码,有些事让我感到困惑。
例如,ListView的源代码:
http://i.stack.imgur.com/4b86B.png
(抱歉我名声不好)
在源代码中。我们可以看到有一个方法resetList(),但在大纲视图中,它已经丢失。
当我按下F3时,"当前文本选择无法在编辑器中打开"出来。
我也通过反射机制打印方法,但仍然缺少方法resetList()。
谁能告诉我为什么?
对于@ CommonsWare的回答:
package com.other;
public class A {
void method(){}
private void privateMethod(){}
public void publicMethod(){}
}
public class Main {
public static void main(String[] args) {
Class aClass = A.class;
A a = new A();
Method[] ms = aClass.getDeclaredMethods();
for (Method m : ms)
System.out.println(m);
}
}
输出:
void com.other.A.method()
private void com.other.A.privateMethod()
public void com.other.A.publicMethod()
答案 0 :(得分:2)
我们可以看到有一个方法resetList(),但在大纲视图中,它已经丢失。
resetList()
不是public
方法。这是一种包私有方法。
我也通过反射机制打印方法,但仍然缺少方法resetList()。
据推测,您使用的技术仅限于public
方法。