Javadoc方法和继承方法

时间:2012-01-18 06:31:26

标签: java javadoc

在javadoc中,为什么有一个单独的继承方法部分?例如,在LinkedList http://docs.oracle.com/javase/1.5.0/docs/api/java/util/LinkedList.html中,有一个方法摘要部分和一个继承方法的部分,例如“从接口java.util.List继承的方法”。方法摘要中的一些方法是从其他类继承的,为什么还有这个单独的部分呢? javadoc如何决定在Method Summary中放入哪些方法以及在继承的部分中哪些方法(即使继承了Method Summary中的方法)?

1 个答案:

答案 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));
        }

    }
}