Java构造函数

什么是构造函数


构造函数是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。
示例:

public class Person {
	private String name;
	private int age;

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
}

public class Test {
	public static void main(String[] args) {
		Person person = new Person("张三", 20);
	}
}

构造函数的作用及其特点


  1. 构造函数的作用就是给对象初始化,它可以简化代码。
  2. 若没有自定义构造函数,系统会自动生成一个无参且方法体为空的构造函数;
  3. 如果自定义构造函数:
    • 必须和类名同名;
    • 没有返回值和返回值类型,void也不能有;
    • 一旦自定义构造函数,系统将不再构造函数;
  4. 构造函数在仅在对象创建时调用唯一一次;
  5. 构造函数可以重载;
  6. 可以通过get和set方法覆盖构造函数中的初始值。
public class Person {
   private String name;
   private int age;

   // 若不自定义构造函数,系统会提供一个默认的构造函数
   // public Person() {}

   // 自定义构造函数,方法名必须和类名相同
   public Person(int age) {
   	this.age = age;
   }
   
   // 构造方法可以重载
   public Person(String name, int age) {
   	this.name = name;
   	this.age = age;
   }
   
   // 由于自定义了构造函数,系统不再提供默认的构造函数,所以我们再次创建无参无方法体的构造函数
   public Person() {}
   
   // 为避免代码过长,此处忽略get和set方法

   public String toString() {
   	return "name = " + name + ", age = " + age;
   }
}

public class Test {
   public static void main(String[] args) {
   	Person person1 = new Person();	// 调用无参无方法体的构造函数,需要自己通过set方法设置值
   	Person person2 = new Person(20);	// 调用带有一个参数的构造方法,此时需要手动设置name值
   	Person person3 = new Person("张三", 20);	// 调用含有两个参数的构造方法,此时name和age已经有值
   	
   	System.out.println(person1);		// name = null, age = 0
    System.out.println(person2);		// name = null, age = 20
    System.out.println(person3);		// name = 张三, age = 20
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值