student.courses.contains(course2)有疑問
這句話是調用Student類的成員courses(一個Set)的contains方法
contains方法本質是調用courses中各個Course類對象的hashcode與equals方法與傳入的對象(course2)進行比較
所以要重寫Course類中的hashcode方法與equals方法,這么理解對嗎?
還有courses中存儲的都是Course類對象(因為用泛型規定的),如果不用泛型規定,并且在Set中存儲的元素超過1種類的對象(比如有自己創建的Teacher類型還有Course類型)
那是不是這2種類的hashcode方法和equals方法都需要重寫?
請各位dalao指點
2020-01-19
如果不用泛型規定,那默認泛型是Object對象,根據java多態的特性,如果子類重寫方法,那調用時方法是子類的方法。
希望對你有幫助