我正在编写一个扩展 AbstractList
的 Java 类,因为它有很多我想继承的方法。
它有两个我不想继承的方法:equals
和 hashCode
。我只想调用它们的默认 Object
版本。
调用继承方法的语法是例如: super.hashCode()
但这只会获得 AbstractList
版本。跳过它并调用祖父版本的语法是什么? Object.hashCode()
不起作用。
最佳答案
没有办法访问祖父方法的实现。另一方面,您可以使用 System.identityHashCode(this) 和 this == o 来获取基于对象的相等行为。
(但请注意,对于任何实现 List
接口(interface)的类型使用基于身份的哈希码或相等性,这违反了 List
约定。)
关于java - 调用爷爷方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53326384/