猿问

Class类的构造方法

我们知道子类不能够继承父类的构造方法,因为在初始化的时候,默认的首先会执行父类的构造方法,因此子类继承不继承父类的构造方法,父类的构造方法都要被执行的。

1.由于Object是所有类的父类,那么Object的构造方法呢?


查看源代码,发现Object是没有构造方法的,只有如下几个方法:clone()/equals()/finalize()/getclass()/hascode()/notify()/notifyall()/tostring()/wait()/registerNatives()

2.由于构造方法是允许被private修饰的,所以我们看Class的源码会发现Class类的构造方法如下:


private Class(ClassLoader loader) {

    // Initialize final field for classLoader.  The initialization value of non-null

    // prevents future JIT optimizations from assuming this final field is null.

    classLoader = loader;

}

我们知道构造方法被修饰成private的。

问题:

1.class的构造方法是如何被使用的。

2.为什么Object没有构造方法,我们却可以Object o = new Object();


牛魔王的故事
浏览 707回答 3
3回答

慕田峪9158850

1、Class应该是类加载器加载进来的,这涉及native语言。 2、 Object有构造方法啊,我看的源代码里面就有构造方法,即使没有构造方法,也会默认无参的构造方法啊

动漫人物

我建议你先把这些问题放放,往后看,看完javase全部内容在回过头来想想你的问题就会明白了 你的问题在javase后面都有解释
随时随地看视频慕课网APP

相关分类

Java
我要回答