网上的解释都不太令人信服,所以写下这篇小文:
构造器为什么不能被继承?
这是由于构造器的特殊规定决定的,构造器的定义和普通方法相比:
- 首先构造器不需要返回类型
- 其次构造器和类名相同
如果构造器可以被子类继承,其具备的地位有两种可能:
- 一是作为子类的构造器
- 二是作为子类对象的普通方法
但是,如果作为子类的构造方法,其和子类名不一致,违背了构造方法的规定;作为子类对象的普通方法,则其没有返回值,违背了普通方法的规定。
综上,构造器不能被子类继承。
网上的解释都不太令人信服,所以写下这篇小文:
构造器为什么不能被继承?
这是由于构造器的特殊规定决定的,构造器的定义和普通方法相比:
如果构造器可以被子类继承,其具备的地位有两种可能:
但是,如果作为子类的构造方法,其和子类名不一致,违背了构造方法的规定;作为子类对象的普通方法,则其没有返回值,违背了普通方法的规定。
综上,构造器不能被子类继承。