课程
/后端开发
/Java
/Java入门第二季 升级版
最后的父类内部定义了有参构造函数方法,子类内可不可以也重写该构造方法呢?
2015-10-24
源自:Java入门第二季 升级版 9-7
正在回答
不可以, 构造方法是不可以重写的 如下,构造方法名和类名是相同的,子类和父类类名不同,构造方法自然不能相同,所以也谈不上重写
Class A{ public A{ } public A(String s){ } Class B extends A{ public B(String s){ //super(s); }
smedlut 提问者
因该是可以的吧,构造方法也是方法啊,只要在子类中创建与父类的构造方法方法名、参数、返回值类型相同的方法,再进行重写就行了吧
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; }}
怒放的生命012
子类不能继承父类的构造方法,也不能覆盖父类的构造方法。,子类如果想使用父类的构造方法,必须在子类的构造方法中使用关键字super来表示,并且super必须是子类构造方法中的头一条语句,子类在实例化对象时,如果子类的构造器没有显示的调用超类的方法,则将自动调用父类默认构造器。如果父类没有不带参数的构造器,且子类的构造器中又没显示的调用超类其他构造器,则Java编译器将报告错误。所以子类使用父类的构造方法是通过super关键字实现的
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答子类和父类的有参构造方法
6 回答当父类定义了有参的构造方法,子类怎么定义构造方法怎么用super关键字
4 回答定义一个有参的父类构造方法,同时子类的构造方法中写了super()了,这样情况也报错。
4 回答如果父类中没有写构造方法,而子类中有构造方法
2 回答请问如果父类只有有参的构造方法,那么子类的构造方法中就隐性调用了父类的构造方法。