目录
构造器
(一)构造器概述
构造器是类的成员之一,类的成员还包括:属性、方法。
构造器也称构造方法。构造方法是一种特殊的方法(但不建议这样理解)
构造器的作用:
- 创建对象
- 初始化对象的属性
格式:
public class 类名{
修饰符 类名 (参数) {
}
}
无参构造:
public class StudentDemo {
public static void main (String [] args) {
Student s1 = new Student ();
}
}
public class Student {
public Student (){
//构造器内书写的内容
}
}
(二)构造器的注意事项
1. 构造器的创建
- 如果没有定义构造器,系统将会给出一个默认的无参数构造器
- 如果定义了构造器,系统将不再提供默认的构造器
- 一个类中,至少会有一个构造器
2. 构造器的重载
- 如果定义了带参构造,还要使用无参数构造,就必须再写一个无参数构造
3. 推荐的使用方式
- 无论是否使用,都手工书写无参数构造
(三)标准类制作
1. 成员变量
- 使用private修饰
2. 构造器
- 提供一个无参构造器
- 提供一个带多个参数的构造器
3. 成员方法
- 提供每一个成员变量对应的setXx() / getXx()
- 提供一个现实对象信息的show()
4. 创建对象并为其成员变量赋值的两种方式
- 无参构造方法创建对象后使用setXxx()赋值
- 使用带参构造器直接创建带有属性值的对象
this调用构造器
- 在类的构造器中,可以显示的使用 “this(形参列表)” 方式,调用本类中指定的其他的构造器
- 构造器中不能通过 “this(形参列表)” 方式调用自己
- 如果一个类中有n个构造器,则最多有n-1构造器中使用了 “this(形参列表)”
- 规定 “this(形参列表)” 必须声明在当前构造器的首行
- 构造器内部,最多只能声明一个 “this(形参列表)” ,用来调用其他的构造器
(四)属性赋值的先后顺序
1. 默认初始化
class User {
String name;
int age;
}
2. 显式初始化
class User {
String name = "Lisa";
int age = 17;
//在属性后面直接赋值
}
3. 构造器中赋值
class User {
String name;
int age;
public User (int age){
this.age = age;
}
}
4. 通过方法赋值
class User {
String name;
int age;
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
}
赋值顺序为:1 → 2 → 3 → 4