Aks*_*hah 2 java methods overriding
如果我想覆盖以下方法:
public Machine makeMachine(String machineName, int machineSize)
{
return new Machine(machineName, machineSize);
}
Run Code Online (Sandbox Code Playgroud)
附:
public Machine makeDramaticMachine(String machineName, int machineSize)
{
return new DramaticMachine(machineName, machineSize);
}
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?
不,不会因为你改变了方法"签名".方法名称及其参数列表必须保持不变,才能成为真正的覆盖.始终使用@Override注释来测试覆盖是否为真正的覆盖.例如:
@Override // always use this annotation just to be sure
public Foo myMethod(Bar baz) {
// ... code in here
}
Run Code Online (Sandbox Code Playgroud)
通过使用注释,您将强制编译器在运行代码之前检查覆盖是否为true.