자바 에 서 는 어떤 방법 을 다시 쓴 후 왜 다시 쓰 는 방법 에서 부모 류 의 이 방법 을 사용 합 니까?

1313 단어 JAVA
	@Override
	//父类中的hascode()算出hashcode值    s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
	public int hashCode() {// 重写hashCode方法
		final int PRIME = 31;
		int result = 1;
		result = PRIME * result + ((bz == null) ? 0 : bz.hashCode());
		result = PRIME * result + ((cd == null) ? 0 : cd.hashCode());
		result = PRIME * result + ((dw == null) ? 0 : dw.hashCode());
		result = PRIME * result + ((gg == null) ? 0 : gg.hashCode());
		result = PRIME * result + ((gysname == null) ? 0 : gysname.hashCode());
		result = PRIME * result + ((id == null) ? 0 : id.hashCode());
		result = PRIME * result + ((jc == null) ? 0 : jc.hashCode());
		result = PRIME * result + ((memo == null) ? 0 : memo.hashCode());
		result = PRIME * result + ((ph == null) ? 0 : ph.hashCode());
		result = PRIME * result + ((pzwh == null) ? 0 : pzwh.hashCode());
		result = PRIME * result + ((spname == null) ? 0 : spname.hashCode());
		return result;
	}
因为父类的方法不能完全实现想要的功能,它只能实现部分我们需要的功能,所以重写的方法是扩展了父类方法的功能。
如果父类方法能完全实现我们想用的功能,就不需重写该方法;如果父类方法所实现的功能跟我们所需的功能完全不同,就要全部重写;如果父类方法只是部分实现了我们所需的功能,就要在重写方法时调用父类方法,并在其上扩展功能。

 
 

좋은 웹페이지 즐겨찾기