在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ native method :hashCode()

native method :hashCode()

Object 有一個native方法,hashCode()
幾乎所有的數(shù)據(jù)類型都重寫了這個方法。
有一個疑問,native方法既然非Java語言書寫(查百度是c++),那為何所有的Java數(shù)據(jù)類型都能重寫這個native方法。。。如果是跟JVM有關(guān)的話,請高手指點下,應(yīng)該學習哪塊兒內(nèi)容。

回答
編輯回答
別逞強

這個和JVM實現(xiàn)關(guān)系不大,是否為native方法也沒關(guān)系。
這是java特性-多態(tài)的一種體現(xiàn),重寫之后調(diào)用的實際上是實現(xiàn)類的hashCode方法,和超類的hasCode方法沒關(guān)系了(如果實現(xiàn)類沒調(diào)用超類的hashCode方法的話)

abstract class A{
   int hasCode(){
}
}
class B extend A{
   int hasCode(){
      //我實現(xiàn)了
   }
}

A a = new B();
a.hasCode(); // 實際上此時a引用的B的實例,a.hasCode()重寫了A中的hashCode,調(diào)用的實際上是重寫后的方法。
2017年10月9日 15:41