1)为什么以下既不能重载也不能相互覆盖:
void meth(List<Integer> a){}
void meth(List<String> a){}
如果上述参数导致相同类型的擦除,为什么不能覆盖它们。
如果它们不能被覆盖,这意味着参数在某种程度上是不同的,因此如果在同一个类中则应该重载,但不是这样。那么上面不是冲突吗?
2)为什么在覆盖中显示以下行为?
a)void test(int a){} //parent class method
public/protected void test(int a){} //child class method (Overridden)
b)void test(int a){} //parent class method
private void test(int a){} //child class method (not overridden)
c)public test(int a){} //parent class method
protected void test(int a){} //child class method (not overridden)