java中 为什么Object类要有一个空的构造函数???

2024-12-01 11:15:24
推荐回答(5个)
回答1:

其他的类之所以可以不用给他写无参的构造函数(方法),就是因为这些类继承了Object类,也就继承了Object的构造方法。而Object是所有类的父类(基类),它没有父类,没有其他类给它继承了,所以必须要有无参的构造函数,否则不能进行Object的实例化。

回答2:

构造函数是为了创建对象的实例用的,没有构造函数的对象是无法创建实例的,我们所有的类,都默认继承了Object类,如果自己的类没有构造方法,在创建实例的时候,默认调用的就是父类(Object)的构造方法,所以不是写不写的问题,是规范就是这样的。。

回答3:

构造函数的话
如果一个类没有构造函数的话那么编译器会自动给它加一个没有参数的构造函数
但是只要有一个有参数的构造函数的话 编译器就不会自动添加了

子类继承,继承时会先调用父类空的构造函数 这个是不完全对的 你可以在子类构造函数的第一行用super() 来选择调用具体父类的那一个构造方法 根据super(这里的参数)

至于你说的Object类的话确实可以没有 编译的时候会自动加一个 不过写一个空的也没关系...

回答4:

你去看看他源码吧,Object类中并没有写空的构造方法,每个类没有自己定义构造方法,系统都会给它一个默认的空构造。你看的的构造方法应该是在API上面看到的吧。你把Object类反编译一下。

回答5:

Object的空构造必须写!
自己定义的类不写构造默认有一个空构造方法是因为默认都是继承了Object,所以自己的类默认会调用Object的构造,所以才可以不写空的构造!