如何访问 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不允许我发布这么多的代码和这么少的细节的问题。
答案 0 :(得分:4)
如果不更改代码,您将无法做到这一点。
无法将方法中定义的本地类告诉外部世界。
您可以在定义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();
}
}
该代码毫无意义,顺便说一句。在现实世界中,没有人会这样做。拥有一个内部类可能是一个令人关注的问题,更不用说您的嵌套水平了。