使用需求
我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如
果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做? 这时就可以使用构造器。
基本语法
[修饰符] 方法名 (形参列表){
方法体;
}
TIPS
- 构造器的修饰符可以默认, 也可以是 public protected private
- 构造器没有返回值
- 方法名 和类名字必须一样
- 参数列表 和 成员方法一样的规则
- 构造器的调用, 由系统完成
实例
目的:在创建人类的对象时,就直接指定这个对象的年龄和姓名。
1 | public class Constructor01 { |
注意事项及使用细节
- 一个类可以定义多个不同的构造器,即构造器重载
比如:我们向以再给Person类定义一个构造器,用来创建对象的时候,只指定人名
不需要指定年龄。 - 构造器名和类名要相同
- 构造器没有返回值
- 构造器是完成对象的初始化,并不是创建对象
- 在创建对象时,系统自动的调用该类的构造方法
- 如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也
叫默认构造器),比如Dog(){},使用javapc指令反编译看看 - 一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无
参构造器,除非显式的定义一下即:Dog()[]写 (这点很重要)