构造器(constructor)是否可被重写(override)?这个问题涉及到好几个比较重要的知识点和概念,只要其中一个不是很清楚都会影响解题。构造器、重写都是最经常遇到的java面试题知识点,不管原来知道不知道,现在告诉你,赶紧记牢面试无忧!
Constructor(构造器)不能被继承,所以不能被override(重写),但是可以被overloading(重载)。构造器就是构造方法,能够被重载(同类中不同参数列表的构造器),不能够被重写(子类使用super方法可以调用)。不能说能被继承,因为能够调用,但是不能重写。
构造器也叫构造方法或者构造函数
构造方法与类名相同,没有返回值,连void都不能写
构造方法可以重载(重载:方法名称相同,参数列表不同)
如果一个类中没有构造方法,那么编译器会为类加上一个默认的构造方法。
默认构造方法格式如下:
public 类名() {
}
如果手动添加了构造器,那么默认构造器就会消失。
建议代码中将无参构造器写出来。
重写是子类对所继承父类相同方法的一种更改,这个更改需要遵循格式按照父类的格式,访问权限,抛出异常等等,都在父类方法控制范围内,内部具体实现可以实现不同的效果。具体特征如下:
* 在子类中可以根据需要对从基类中继承来的方法进行重写。
* 重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。
* 重写方法不能使用比被重写的方法更严格的访问权限。
* 重写方法不能声明抛出比被重写方法范围更大的异常类型。
以上是思博网络为广大奔走在面试以及学习阶段的java同行整理的关于Java 构造器以及重写可能遇到的面试问题以及重要知识点,可能存在不足或者需要补充,您有什么观点和认识,欢迎指正补充,大家一起快乐学Java,高薪在就业!
如果遇到什么疑问或者困惑,可以联系我们,乐于与您分享讨论!
即刻预约
免费试听-咨询课程-获取免费资料