-3

このクラスのすべてのメソッドが呼び出されているか、まったく呼び出されていない場所とすべてのメソッドをプログラムで見つけます。

class blah {
    void method1() {}
    void method2() {}
}

class blahTest {
    public static void main(String[] args) {
        Class classToAnalyze = blah.class;  
        /* DO SOMETHING TO DETERMINE WHO IS CALLING blah CLASS AND IT'S METHODS
           AND WHICH METHODS ARE NOT GETTING CALLED ANYWERE  */
        String sMethod = /* GET THIS VALUE FROM PREVIOUS OPERATION */
        System.out.println("Method which is not getting called anywere: " + sMethod);
    }
}

出力:

Method which is not getting called anywere:method2()

Javaからプログラムでこれを行うにはどうすればよいですか?

4

1 に答える 1

1

他に誰がmethod2. 誰かがいつでもあなたのクラスを使用できます。method1とにかく、私が見ることができるすべてのためにも呼び出されていません。

どのメソッドが実際に呼び出されたかを知るために、各メソッドに静的なブール値フラグを設定してから、これらのブール値フラグをチェックすることができますが、反射/クラス オブジェクト操作アプローチは機能しません。

いずれにせよ、プライベート メソッドの場合、IDE は未使用のメソッドに警告または通知のマークを付けます (それが適切な IDE である場合)。Eclipse がこれを行います。

于 2013-09-02T06:35:48.247 に答える