关于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