一、构造方法用来初始化对象的属性

public class Person{
  private String name;
  private int age;
//不使用构造方法的时候,用set进行赋值
  public setName(String name){
    this.name = name;
  }
  public setAge(int age){
    this.age = age;
  }
  public String getName(){
    return name;
  }
  public int getAge(){
    return age;
  }
//使用构造方法,实例化对象的时候,就进行了赋值
public Person(String name,int age){
  this.name = name;
  this.age = age;
}
}
//实例化对象的时候,直接赋值
Person p = new Person("adam",18);
//如果不使用构造方法,则只能使用set来赋值
p.setName("adam");
p.setAge(18);

二、构造方法的作用

在实例化对象的同时(new),对属性进行赋值

三、构造方法的定义和特点

public 方法名(参数列表){

}

特点1. 不能写返回值类型,因为根本就没有返回值。

特点2. 方法名必须和类名一致,大小写也要一样。

特点3.构造方法无须调用,在实例化对象的同时会执行一次。

public class Person{
  public Person(){
    System.out.println("hello");
  }
}
Person p = new Person();

运行结果,输出hello。构造方法在new的同时自动执行。

特点4. 在创建类的时候(不管这个类前的修饰符是public abstract final还是其它),构造方法默认就有了。如果不写构造方法,编译器自动添加,如果程序员写了构造方法,则使用程序员书写的构造方法。

如果程序员没有书写构造方法,编译器自动添加一个空的构造方法:空参数,空方法体

public Person(){

}

四、构造方法的赋值

public class Person{
  private String name;
  private int age;
  public Person(String name,int age){
    this.name = name;
    this.age = age;
  }
}
 
//实例化的同时,给属性赋值
Person p = new Person("adam",18);

p.getName值为adam,p.getAge值为18