smedlut
2015-10-24 11:44
最后的父类内部定义了有参构造函数方法,子类内可不可以也重写该构造方法呢?
不可以, 构造方法是不可以重写的 如下,构造方法名和类名是相同的,子类和父类类名不同,构造方法自然不能相同,所以也谈不上重写
Class A{ public A{ } public A(String s){ } Class B extends A{ public B(String s){ //super(s); }
因该是可以的吧,构造方法也是方法啊,只要在子类中创建与父类的构造方法方法名、参数、返回值类型相同的方法,再进行重写就行了吧
class tudou_ extends tu{
public tudou_(){
System.out.println("tudou执行了");
}
void tu(int i){
this.i = 2;
}
}
class tu{
int i;
tu(){
}
tu(int i){
this.i = i;
}
}
子类不能继承父类的构造方法,也不能覆盖父类的构造方法。,子类如果想使用父类的构造方法,必须在子类的构造方法中使用关键字super来表示,并且super必须是子类构造方法中的头一条语句,子类在实例化对象时,如果子类的构造器没有显示的调用超类的方法,则将自动调用父类默认构造器。如果父类没有不带参数的构造器,且子类的构造器中又没显示的调用超类其他构造器,则Java编译器将报告错误。所以子类使用父类的构造方法是通过super关键字实现的
Java入门第二季 升级版
530559 学习 · 6091 问题
相似问题