Why is there no parameter contra-variance for overriding?

后端 未结 6 1178
借酒劲吻你
借酒劲吻你 2020-12-02 20:36

C++ and Java support return-type covariance when overriding methods.

Neither, however, support contra-variance in parameter types - instead, it translates to overl

6条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-02 21:25

    class A {
        public void f(String s) {...}
        public void f(Integer i) {...}
    }
    
    class B extends A {
        public void f(Object o) {...} // Which A.f should this override?
    }
    

提交回复
热议问题