我在一个内部类中创建了一个内部类:publicclassEnclosingClass{publicclassInnerClass{privateEnclosingClassgetEnclosing(){returnEnclosingClass.this;}publicclassInnerInnerClass{privateInnerClassgetEnclosing(){returnInnerClass.this;}privateEnclosingClassgetEnclosingOfEnclosing(){returnEnclosingClass.this;}}}}令我惊讶的是,ja
我正在尝试用多个私有(private)类测试一个类(是的,我知道这通常被认为是可测试性的不良做法,但这个问题与设计原则无关)。我的类(class)看起来像这样:publicclassEnclosingClass{...privateclassInnerClassimplementsInnerClassType{publicInnerClass(){/*dostuff*/}publicintInnerClassMethod();}}InnerClassType是一个公共(public)接口(interface)我尝试通过以下方式使用powermock实例化类:Classclazz=Whi
我正在尝试在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
这个问题在这里已经有了答案:Whyisananonymousinnerclasscontainingnothinggeneratedfromthiscode?(5个答案)关闭7年前。在下面的代码中:classEnclosingClass{publicstaticclassBiNodeextendsSub.IBiLink{}privatestaticclassSub{privatestaticclassIBiLink{}}}在与其他.class文件一起编译时,我还看到一个名为“EnclosingClass$1.class”的文件。为什么会自动创建它?怎么回事?