java puzzler 92
打印结果
分析:原因是私有成员不会被继承[JLS 8.2]。在这个程序中,name 方法并没有被继承到reproduce方法中的匿名类中。所以,匿名类中对于printName方法的调用必须关联到外围(“main”)实例而不是当前(“reproduce”)实例。
修改name方法的可见性之后,
打印结果
java puzzler 92
打印结果
分析:原因是私有成员不会被继承[JLS 8.2]。在这个程序中,name 方法并没有被继承到reproduce方法中的匿名类中。所以,匿名类中对于printName方法的调用必须关联到外围(“main”)实例而不是当前(“reproduce”)实例。
修改name方法的可见性之后,
打印结果