我如何访问F类并调用Ffun(),顺便说一句,我正在使用jdk ver1.8.0_171


class A
{
    public static void main(String[] args) {
        B obj1=new B();
        B.C obj2=obj1.new C();
        B.C.D obj3=obj2.new D();
        B.C.D.E obj4=obj3.new E();

        obj4.Efun();

    }
}
class B
{
    public void Bfun()
    {
        System.out.println("In class B");
    }
    class C
    {
        public void Cfun()
        {
            System.out.println("In class C");
        }
        class D
        {
            public void Dfun()
            {
                System.out.println("In class D");
            }
                class E
                {
                    public void Efun()
                    {
                        System.out.println("Ind class E");
                        class F
                        {
                            public void Ffun()
                            {
                                System.out.println("I need to get called");
                            }
                        }
                    }
                }
            }
        }
    }
}


如果您已经找到了调用Ffun()的方法,我会写很多,我只是在写这个bcoz stackoverflow不允许我用这么多的代码和这么少的细节来发布这个问题。

最佳答案

如果不更改代码,您将无法做到这一点。

无法将方法中定义的局部类告诉外部世界。

您可以在定义new F().Ffun();类之后编写F,因此Efun()将自动调用Ffun()

class E {
    public void Efun() {
        System.out.println("In class E");

        class F {
            public void Ffun() {
                System.out.println("I need to get called");
            }
        }

        new F().Ffun();
    }
}


这段代码毫无意义,顺便说一句。在现实世界中,没有人会这样做。拥有一个内部类可能是一个令人关注的问题,更不用说您的嵌套程度了。

关于java - 我如何调用此Ffun()并访问此类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56820703/

10-10 14:57