在Java中子类能否重载父类的构造方法?
2016-12-10 21:36
567 查看
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() 语句以防报错;
相关文章推荐
- 黑马程序员--java中父类和子类都有构造方法时,子类对象的初始化过程
- Java中静态代码块,非静态代码块,以及父类与子类的构造方法的之间调用顺序
- Java子类调用父类的有参和无参的构造方法
- java中子类与父类构造方法的问题
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- java继承时,实例化子类,是否会默认调用父类构造方法
- Java中子类和父类构造方法的问题
- Java中子类与父类的构造方法的调用关系
- [转]Java中子类调用父类构造方法的问题分析
- Java 子类初始化父类的构造方法 成员变量不支持多态
- Java中子类与父类的构造方法的调用关系
- Java里子类调用父类构造方法问题
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- java方法重载和覆盖、子类与父类的转换
- Java中子类调用父类构造方法的问题分析
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- java中子类调用父类的构造方法
- Java中子类与父类的构造方法的调用关系
- Java中子类与父类的构造方法的调用关系
- java中子类继承父类自动调用父类无参构造方法的问题