【发布时间】:2013-04-18 16:21:52
【问题描述】:
我真的在寻找这个问题的答案。我想创建一个只遍历目录树的通用代码。也许它只是一个包含一个方法的静态类。没问题。对于每个不是目录的文件,它会做一些事情。我认为为这个 something 定义一个接口是要做的事情(我现在称之为FileActionInterface.performAction()),但我不确定如何编写目录遍历器代码来调用这个接口方法(尚不存在)。我已经看到并使用过其他 Java 类,它们有一个“添加接口处理程序()”的方法,然后该类将运行您实现的接口。如果你什么都不放进去,什么都不会发生。
很抱歉在这里抓住了正确的词。如何编写此目录遍历器代码以调用抽象代码?
PS 所有这些都是很好的答案,我已经将它们标记为这样。当一个类对类有一个类似“addInterfaceHandler()”的方法时,他们是如何做到的?我猜这个类有它自己的接口实现,但它可能是空的。然后,当您调用 add() 方法时,您要么替换类的实现,要么像接口实现数组一样添加到它。
我将开始尝试您的不同解决方案。
【问题讨论】:
-
有人已经为 Java 1.7 stackoverflow.com/a/3154643/225986提供了一个很好的答案
标签: java generics interface abstraction