这是不可能的,因为您试图在超类引用上调用方法子类。而且该方法未在超类本身中定义。匿名类只是
File那里的一个子类。
但是,一种解决方法是进行反思:
file.getClass().getMethod("doStuff").invoke(file);该
getClass()方法将返回的运行时类型
file,然后您可以使用
Class#getMethod()method
获得该类的方法。
好吧,我本人也不喜欢反思。当然,更好的方法是通过扩展超级类来创建类,如果您要进行此类操作。使用反射轻松解决问题,使用简单的修改即可轻松完成,这真是让人头疼。



