java中子类重写父类的方法,此方法中父类的方法的参数为Map对象,子类重新的方法参数是Map泛型,错在哪?

为什么父类的参数是Map泛型,而子类的参数是Map,就可以?
2025-05-04 06:10:41
推荐回答(3个)
回答1:

子类参数类型不能小于父类参数类型,父类不是map范型,父类的map的类型无限制,而子类是Map范型,那么就是说子类map里只能存放Student类,这样子类的范围反而小了所以不可以。反之没有造成子类参数比父类参数范围小的现象,所以可以。

回答2:

父类是泛型 子类是Map 子类Map参数包含父类泛型。可以重写。
父类Map 子类 泛型。父类参数包含子类参数,子类不能完全重写父类的方法。这个问题其实可以用内存堆栈来回答

回答3:

父类方法参数是Map的泛型子类才可以那么写,子类也可以不那么写,和强制转换基本一个道理。