在javadoc中,为什么有一个单独的继承方法部分?例如,在LinkedList http://docs.oracle.com/javase/1.5.0/docs/api/java/util/LinkedList.html中,有一个方法摘要部分和一个继承方法的部分,例如“从接口java.util.List继承的方法”。方法摘要中的一些方法是从其他类继承的,为什么还有这个单独的部分呢? javadoc如何决定在Method Summary中放入哪些方法以及在继承的部分中哪些方法(即使继承了Method Summary中的方法)?
答案 0 :(得分:1)
它使用Reflection-API来决定方法是否被继承。
getMethod()
返回继承的方法getDeclaredMathod()
返回所有方法有关更多参考资料,另请参阅Discovering Class Members
演示API
的使用示例public class Reflect extends ArrayList {
public static void main(String[] args) {
Reflect r = new Reflect();
r.dump();
}
private void dump() {
Method[] methods = this.getClass().getMethods();
Set<String> ms = new HashSet<String>();
for ( Method m : methods ) {
ms.add( m.getName() );
}
Method[] declMethods = this.getClass().getDeclaredMethods();
Set<String> ds = new HashSet<String>();
for ( Method m : declMethods ) {
ds.add( m.getName() );
}
for ( String name : ms ) {
System.out.println(name + " is inherited =" +! ds.contains(name));
}
}
}