我如何访问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/