构造器

语法:

public 类名 (参数列表,可以没有参数) {
    // 不能有return,返回值为空
}
  • 特点一:必须和类的名字相同
  • 特点二:一定,必须没有返回值,但也不能用void。

例:

  1. 创建一个空的Person
public class Person { }	// 里面什么都不定义
  1. 发现能实例化出来这个Person
public class Application {
    public static void main(String[] args) {
        Person person = new Person();
    }
}
  1. 说明 Person类里存在一个空的构造器(无参构造器)
public class Person {
    public Person() {
        // 空的构造器
    }
}
  1. 结论:一个类里面即使什么都不写,也会存在一个方法(无参构造器)

显示的定义一个无参构造器

public class Person {
    public Person() {
        // 无参构造器
    }
}
  • 无参构造器能实例化初始值

    public class Person {
    
        String name;
    
        public Person() {
            // 实例化name的初始值
            this.name = "小明";
        }
    }
    
    public class Application {
        public static void main(String[] args) {
    		// 实例化一个类
            Person person = new Person();
    		// 输出person类的name属性
            System.out.printf("name的值为:" + person.name);
    
        }
    }
    

    结果:

    name的值为:小明
    

有参构造器

  • 一旦定义有参构造器就一定得显示的定义一个无参构造器
public class Person {    String name;    	// 无参构造    public Person() { }        // 有参构造    public Person(String name) {        this.name = name;    }}
  • 在使用Person这个类创建对象时会出现方法重载

    public class Application {    public static void main(String[] args) {		// 实例化对象的时候传入值        Person person = new Person("小红");        System.out.printf("值为:" + person.name);    }}
    

    结果:

    name的值为:小红
    
05-05 05:28