gpt4 book ai didi

java - 实现一个调用接口(interface)方法的类?

转载 作者:行者123 更新时间:2023-12-01 18:50:20 24 4
gpt4 key购买 nike

我真的正在寻找这个问题的答案。我想创建一段仅遍历目录树的通用代码。也许它只是一个包含一个方法的静态类。没问题。对于每个不是目录的文件,它都会执行一些操作。我认为为这个东西定义一个接口(interface)是要做的事情(我现在称之为FileActionInterface.performAction()),但我不知道如何编码目录遍历器代码来调用此接口(interface)方法(尚不存在)。我见过并使用过其他 Java 类,它们有一个方法“add Interface handler()”,然后该类将运行您实现的接口(interface)。如果你不放任何东西,什么也不会发生。

很抱歉这里没有掌握正确的用词。如何编写此目录遍历器代码来调用抽象代码?

PS所有这些都是很好的答案,我已将它们标记为这样。当一个类具有“addInterfaceHandler()”之类的方法时,他们如何做到这一点?我猜测该类有自己的接口(interface)实现,但它可能是空的。然后,当您调用 add() 方法时,您可以替换类的实现,也可以像接口(interface)实现数组一样添加到其中。

我将开始尝试您的不同解决方案。

最佳答案

您将传入一个实现所述接口(interface)的对象。

walking 方法将调用该对象上的方法。

类似于 Files.walkFileTreeFileVisitor一起工作.

非常粗略地:

public class Walker {
private Visitor v;
public Walker(Visitor v) { this.v = v; }
public walk(File dir) {
// pseudo-code
for (File f : dir.getFiles()) {
if (f.isDir()) {
walk(f);
} else {
v.performAction(f);
}
}
}
}

关于java - 实现一个调用接口(interface)方法的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com