我有一个名为Node的类和另一个名为ClassicNode的类,它扩展了Node。现在我有一个由ClassicNode类实现的接口AgentInterface。界面声明必须有方法
Node selection();
如您所见,返回类型应为Node类型。但是在类ClassicNode中,我可以像这样实现它: -
ClassicNode selection(){
//Code
}
这会满足界面吗? (因为ClassicNode继承了Node)
答案 0 :(得分:5)
是;它被称为协变返回。但请注意,你不能用参数做同样的事情;他们必须完全匹配。
答案 1 :(得分:2)
那么,你为什么不做实验呢? 减少工作量。 你可以在方法的签名上添加注释@Override,然后尝试编译代码,如果成功,则意味着工作或失败。