日期:2014-05-20  浏览次数:20731 次

关于javaObject类的一个小问题
今天看Object源码时发现它里边的好些方法和接口中定义的方法格式类似。
比如:   public   native   int   hashCode();就这么一个定义也没有方法体。
我做了一个测试类TestObject如下:
public   class   TestObject   {
public   static   void   main(String[]   args)
{
Object   to   =   new   TestObject();
System.out.println(to.hashCode());
}

}
打印结果:3526198
由代码可以看出我并没有重写hashCode方法。
问题1:类里边可以定义没有方法体的方法吗?(不算抽象类);
问题2:为什么TestObject可以使用Object的hashCode()方法,他可是没有方法体阿?
分数不多请多多包涵。

------解决方案--------------------
你没有重写方法的时候,那么JVM就自动调用父类的方法(也就是Object中的HashCode)

Object中的HashCode:public native int hashCode(); native表示该方法在DLL中实现的

------解决方案--------------------
Object是的hashcode是native实现的,也就是本地代码实现
------解决方案--------------------
http://topic.csdn.net/t/20050606/09/4061669.html