首页 > Class类的构造方法

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();


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


首先你要了解,这两块属于Java的底层结构,在底层结构中,很多是不遵循Java本身的语法的。
Object的构造方法即使写出来也是空的,所以干脆就没有,这样连方法都不用执行。
Class构造方法是private的,是不让开发者自己构造Class对象,而在jre运行环境里,是从底层构造的Class对象,根本不在于如何修饰它。


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

【热门文章】
【热门文章】