我今天遇到了Java没有调用我预期的方法的情况——这是最小的测试用例:(很抱歉这看起来是人为的——“现实世界”的场景要复杂得多,并且从“你到底为什么要那样做?”的角度来看更有意义。)我特别感兴趣的是为什么会这样,我不关心重新设计的建议。我感觉这是在JavaPuzzlers中,但我手边没有副本。在下面的Test.getValue()中查看具体问题:publicclassOl2{publicstaticvoidmain(String[]args){Testt=newTest(){protectedIntegervalue(){return5;}};System.out.println(t.