インナークラス内のプライベートクラス内のプライベートメソッドを呼び出します

ArnabSaha:

プライベートメソッドを呼び出す必要はありfoo()クラスのInner.PrivatePrivateメインクラスのmainメソッドから内部プライベートクラスです。コードは次のようなものです:

public class MainClass {
    public static void main(String[] args) throws Exception {
        // Need to invoke foo() from here
        } 

    static class Inner {
        private class Private {
            private String foo() {
                return "someString";
            }
        }
    }
}

私は、この使用してJavaのリフレクションを取得しようとしていたが、私は、このアプローチから問題に直面しています。

呼び出すための私の試みはfoo()次のとおりです。

        Inner innerClassObject = new Inner();
        Method method = Inner.Private.class.getDeclaredMethod("foo");
        method.setAccessible(true);
        method.invoke(innerClassObject);

しかし、これはないNoSuchMethodExceptionを与えます:

Exception in thread "main" java.lang.NoSuchMethodException: 
default.MainClass$Inner$Private.foo()
    at java.lang.Class.getDeclaredMethod(Unknown Source) 

私はこの時点で立ち往生しています、Javaのリフレクション、またはその他の方法により、この達成可能ですか?

crizzis:

うーん...なぜ単にnew Inner().new Private().foo()

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=345451&siteId=1
おすすめ