目录
一、构造器
构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。
基本语法:
修饰符 方法名(形参列表){
方法体;
}
①、构造器的修饰符可以是默认的,也可以是 public protected private
②、构造器没有返回值
③、方法名和类名字必须一样
④、参数列表和成员方法一样的规则
⑤、构造器的调用由系统完成
示例代码:
public class Constructor01 {
public static void main(String[] args) {
//当new一个对象时,直接通过构造器给属性赋值
Person person = new Person("小明", 18);
System.out.println("person信息:");
System.out.println("person.name = " + person.name);
System.out.println("person.age = " + person.age);
}
}
class Person{
String name;
int age;
/**
* 构造器
* 1、构造器没有返回值,也不能写void
* 2、构造器的名称与类名一致
* 3、构造器的形参列表与成员方法一样
* 4、
* @param name
* @param age
*/
public Person(String name, int age) {
System.out.println("构造器被调用。。");
this.name = name;
this.age = age;
}
}
二、构造器注意事项
1、一个类可以定义多个不同的构造器,即构造器重载
public class Constructor01 { public static void main(String[] args) { Person person1 = new Person("jack", 19); Person person2 = new Person("tom"); } } class Person{ String name; int age; //第一个构造器 public Person(String name, int age) { this.name = name; this.age = age; } //第二个构造器,只给name属性赋值 public Person(String name) { this.name = name; } }
2、构造器名和类名要相同
3、构造器没有返回值
4、构造器是完成对象的初始化,并不是创建对象
5、在创建对象时,系统自动调用该类的构造方法。
6、当没有定义构造方法时,系统会自动给类生成一个默认无参构造方法又叫默认构造方法。
public class Constructor02 {
public static void main(String[] args) {
//当创建对象时就是调用默认的构造方法
Person person = new Person();
}
}
class Person{
}
参考图:
7、定义了自己的构造器,默认的构造器就覆盖了,不能再使用默认的无参构造器,要使用需要显式定义一下。
class Person{ String name; //需要显式定义 public Person() { } public Person(String name) { this.name = name; } }