有参构造方法

【人们把构造方法叫做构造器】

在创建对象的时候完成属性的初始化操作,此时需要使用到有参数构造方法才能完成该功能。

定义有参数构造方法

public class Student {
	private String name;
	private int age;
	private double height;
	private String sex;
	private int number;
	//为了代码的简化暂时不写属性的setter和getter方法
	//定义出有参数的构造方法
	public Student(String name) {
		this.name=name;
	}
	
	public Student(String name,Integer age) {
		this.name=name;
		this.age=age;
	}
	
	public Student(String name,Integer age,String sex) {
		this.name=name;
		this.age=age;
		this.sex=sex;
	}
	
	public Student(String name,Integer age,String sex,int number) {
		this.name=name;
		this.age=age;
		this.sex=sex;
		this.number=number;
	}
	
	public void fun() {
		System.out.println("名字:"+name+",年龄:"+age+",性别:"+sex+",学号:"+number);
	}
}

上面定义了四个有参数构造方法

发现了构造方法可以重载,而且发现了书写的习惯是重载的构造方法按照参数的个数进行升序排序。

调用有参数构造方法

public class Hello {
	public static void main(String[] args) {
		//使用有参数的构造方法实例化对象
		Student s= new Student("张三");
		s.fun();
	}
}
名字:张三,年龄:0,性别:null,学号:0
public class Hello {
	public static void main(String[] args) {
		//使用有参数的构造方法实例化对象
		Student s= new Student("张三",19,"男",10001);
		s.fun();
	}
}
名字:张三,年龄:19,性别:男,学号:10001

之前我们需要为对象属性赋值必须先创建对象在使用【对象名.属性名】或者使用setter方法去实现,现在我们直接使用有参数的构造方法去实现。

继续观察代码

public class Hello {
	public static void main(String[] args) {
		//使用有参数的构造方法实例化对象
		Student s= new Student();
		s.fun();
	}

定义有参构造方法后,JVM任务不再需要无参数构造方法了,有参构造方法不赋值报错,所以我们定义了有参参数构造方法那么也需要显示的定义出无参数构造方法。

显示定义无参数构造方法

public Student() {
	}

总结:

1.有参构造方法的出现是为了方便为对象的属性初始化值。

2.一般在类中构造方法的顺序都是按照参数的个数去升序排序的。

3.如果定义了有参构造方法那么JVM就不会再提供无参数构造了,所以如果我们定义了有参构造那么无参构造也要显示的定义出来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值