Java编程思想--构造函数的重载

构造函数的重载

在创建类的对象时进行初始化工作,不但可以为对象属性赋初值,还可以在对象初始化过程中进行必要的检查和处理。

当一个够找函数需要调用另一个够找函数时,应使用关键字this,同时这个调用语句应该是整个够找函数的第一个可执行语句。

子类与父类构造函数的关系

子类并不继承父类的构造函数

1,如果子类没有定义任何构造函数,那么在创建子类对象时将调用父类无参数的构造函数

2,如果子类自己定义了构造函数,则在创建子类对象时,系统将首先隐含执行父类无参数的构造函数,然后再执行子类自己的构造函数

3,如果在子类自己定义的构造函数中,利用super关键字显式地调用父类的构造函数,系统将不再调用父类的无参数的构造函数

例子

package TEST2;
class Employee{
	float salary;
	Employee(){
			System.out.println("使用了Employee()");
	}
	Employee(float sal){
		System.out.println("使用了Employee(sal)");
	}
}
class Manager1 extends Employee{
	float allowance;
}
class Manager2 extends Employee{
	float allowance;
	Manager2(){
		System.out.println("使用了Manager2()");
	}
	Manager2(float sal){
		super(sal);
		System.out.println("使用了Manager2(sal)");
	}
	Manager2(float sal,float aa){
		System.out.println("使用了Manager2(sal,sa)");
	}
}
public class TestCons {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("--子类没有定义构造函数--");
		Manager1 mgr1=new Manager1();
		System.out.println("--子类自己的构造函数(无参数)--");
		Manager2 mgr2_1=new Manager2();
		System.out.println("--子类自己的构造函数(1个参数),显式调用父类构造函数--");
		Manager2 mgr2_2=new Manager2(3000);
		System.out.println("--子类自己的构造函数(两个参数)--");
		Manager2 mgr2_3=new Manager2(3000f,500f);
	}

}

结果

--子类没有定义构造函数--
使用了Employee()
--子类自己的构造函数(无参数)--
使用了Employee()
使用了Manager2()
--子类自己的构造函数(1个参数),显式调用父类构造函数--
使用了Employee(sal)
使用了Manager2(sal)
--子类自己的构造函数(两个参数)--
使用了Employee()
使用了Manager2(sal,sa)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值