以下代码破坏了什么OO原则?不是 Java OO 原则,而是一般 OO 原则。
class GeneralArg{}
class Arg extends GeneralArg{}
class A{
public void test(Arg a){}
}
class B extends A{
@Override
public void test(GeneralArg a){}
}
我认为这应该工作!
但是有一个编译错误说B.test()
不会覆盖A.test()