看一个需求
在创建对象时,直接指定对象的属性值怎么做
这时就可以使用构造器
基本语法
[修饰符] 方法名(形参列表){ 方法体; }
- 构造器的修饰符可以默认 也可以是public protected private
- 构造器没有返回值
- 方法名和类名必须一致
- 参数列表和成员方法一样的规则
- 构造器的调用由系统完成
基本介绍
构造器方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化(不是创建对象,而是在对象创建之后)。它有几个特点:
- 方法名和类名相同
- 没有返回值
- 在创建对象时,系统会自动的调用该类的构造器完成对对象的初始化。
注意事项和使用细节
-
一个类可以定义多个不同的构造器,即构造器重载
-
构造器名和类名相同
-
构造器没有返回值
-
构造器是完成对象的初始化,并不是创建对象
-
在创建对象时,系统自动的调用该类的构造方法
简单分析下对象创建流程和构造器调用时机
public class Cat {
private int age ;
private String name ;
private String gender ;
public Cat(int age ,String name ,String gender){
}
}
public static void main(String[] args) {
Cat cat = new Cat(19, "zxzz", "asdf");
}
1 第一次创建对象时 先加载这个类的类信息,这里时 Cat.class位置在方法去(只会加载一次) 2 在堆中开辟空间 3 进行默认初始化,给熟悉赋上默认值,如果在成员变量上显示的赋值了 比如 这里private int age =100; 那么会在给属性进行显示初始化,将age赋值为100,默认初始化和显示初始化都完成之后如果调用有参构,这时才通过构造器对属性进行赋值