java-Object类的解析(持续更新)

1.getClass()方法

public class Object {
    /*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用*/
    private static native void registerNatives();
    /*对象初始化时自动调用此方法*/
    static {
        registerNatives();
    }
    /*返回此Object的运行时类*/
    public final native Class<?> getClass();

getClass()这个方法在反射中经常调用,一开始百思不得其解,不知道这个方法具体是怎么实现的,后来查阅关键字发现这是用native修饰的,也就是说这个方法在DLL中用c或者c++实现,然后JNI调用他。

然后的话就遇到了一个问题,getClass、Class和.class这三个玩意到底是什么关系啊我擦。于是先测试了一下.class(ps:有人说class是静态属性,我以为在object里面定义的,但是没找到,但是又可以Object.class调用这个东西,所以暂时没搞明白)。。。。

--------------以下来自java编程思想

 

原文地址:https://www.cnblogs.com/daysn/p/10275375.html