jjzjj

EnclosingClass

全部标签

java - java如何实现从内部内部类访问封闭类?

我在一个内部类中创建了一个内部类:publicclassEnclosingClass{publicclassInnerClass{privateEnclosingClassgetEnclosing(){returnEnclosingClass.this;}publicclassInnerInnerClass{privateInnerClassgetEnclosing(){returnInnerClass.this;}privateEnclosingClassgetEnclosingOfEnclosing(){returnEnclosingClass.this;}}}}令我惊讶的是,ja

java - PowerMock 可以为测试用例实例化一个内部类吗?

我正在尝试用多个私有(private)类测试一个类(是的,我知道这通常被认为是可测试性的不良做法,但这个问题与设计原则无关)。我的类(class)看起来像这样:publicclassEnclosingClass{...privateclassInnerClassimplementsInnerClassType{publicInnerClass(){/*dostuff*/}publicintInnerClassMethod();}}InnerClassType是一个公共(public)接口(interface)我尝试通过以下方式使用powermock实例化类:Classclazz=Whi

java - 如何获取调用方法的返回值?

我正在尝试在Java中实现某种反射。我有:classP{doublet(doublex){returnx*x;}doublef(Stringname,doublex){Methodmethod;ClassenclosingClass=getClass().getEnclosingClass();if(enclosingClass!=null){method=enclosingClass.getDeclaredMethod(name,x);try{method.invoke(this,x);}catch(Exceptione){e.printStackTrace();}}}classoe

java - 为什么编译包含静态嵌套类的类会创建一个名为 "EnclosingClass$1"的新 .class 文件?

这个问题在这里已经有了答案:Whyisananonymousinnerclasscontainingnothinggeneratedfromthiscode?(5个答案)关闭7年前。在下面的代码中:classEnclosingClass{publicstaticclassBiNodeextendsSub.IBiLink{}privatestaticclassSub{privatestaticclassIBiLink{}}}在与其他.class文件一起编译时,我还看到一个名为“EnclosingClass$1.class”的文件。为什么会自动创建它?怎么回事?