在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() 语句以防报错;




                                    
posted @ 2016-12-10 21:36  孙中明  阅读(443)  评论(0编辑  收藏  举报