gpt4 book ai didi

java - 以接口(interface)作为参数的方法

转载 作者:行者123 更新时间:2023-12-01 17:19:48 25 4
gpt4 key购买 nike

class Do{
void doit(){
ClassA a = new ClassA();
a.doSomething(>>>CODE HERE<<<);
}
}
interface InterfaceA{
void doSomethingElse();
}
class ClassA{
void doSomething(InterfaceA f){
}
}

问题:完成上述代码,以便 doit 方法打印“Hello world!”通过仅在括号之间添加代码(如所示)而不更改任何其他内容。

有人可以帮我解决这个问题吗?我还是不知道。我昨天在测验中将其留空:((。感谢您的帮助

最佳答案

class Do{
void doit(){
ClassA a = new ClassA();
a.doSomething(new InterfaceA () {
{ System.out.println("Hello world"); }
@Override public void doSomethingElse() { }
});
}
}

关键是定义一个带有初始化器的匿名类,然后使用“new”创建该类的新对象。创建对象会执行初始化程序。附:这已经经过测试。

这似乎不是一个好的测验问题;做这样的事情是相当晦涩的,并且可能不是人们实际编码的正常类型的事情。它看起来更像是一个谜题,而不是一个实际的测试问题。除非有更好的答案我还没有发现......

关于java - 以接口(interface)作为参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555299/

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