java - Class类的构造方法

查看:120
本文介绍了java - 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();

解决方案

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

这篇关于java - Class类的构造方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆