在Java中子类能否重载父类的构造方法?
1,首先明确一点子类不能重载父类的构造方法
2,由于在java中类的构造函数与类的名称相同,不可能子类和父类使用相同的类名称,因此子类也就不能重载父类的构造函数,但子类可以通过super来调用父类的构造函数。
3,也就是在子类的构造方法里面使用 super() 的方法来调用父类;
package javaClass;
/*
* 编写一个java程序,设计一个汽车类Vehicle,
* 包含的属性有车轮的个数wheels和车重weight。
* 小汽车类Car是Vehicle的子类,包含的属性有载人数loader。
* 每个类都有构造方法和输出相关数据的方法。
* */
public class Main {
public static void main(String[] args) {
new Car(4,100,8);
}
}
class Vehicle{
int w,h;
public Vehicle(int w,int h){
this.w=w;
this.h=h;
}
}
class Car extends Vehicle{
int w,h,l;
Car(int w,int h,int l){
super(w,h);
System.out.println("w:"+w+" h:"+h+" l:"+l);
}
}
/*
*本来是打算这样写的 结果就是报错的
*/
class Car extends Vehicle{
int w,h,l;
Car(int w,int h,int l){
System.out.println("w:"+w+" h:"+h+" l:"+l);
}
}
4,所以 随意在继承 重载 构造方法 最后加上super() 语句以防报错;
🐳 作者:hiszm 📢 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,万分感谢。 💬 留言:同时 , 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
![]() |