一、构造方法:
也叫构造函数,构建器,构造器————复用给成员变量赋初始值
- 作用:给成员变量赋初始值(构造方法只赋值,不干别的事)
- 构造方法名必须与类名相同(因为是给成员变量赋初始值),没有返回值类型(连void都没有)
- 构造方法在创建(new)对象时被自动调用----只要new了,就调用了构造函数
- 若自己不写构造方法,则new对象时编译器会默认提供一个无参的构造方法。若自己写了构造方法,则编译器不再默认提供无参构造了,所以此时new对象的时候只能传参数。
- 含参数的构造方法,有参数就得传参数。
思考:
为成员变量赋初始值是一个方法,是一个单独的业务,编译器专门为赋初始值的操作设计了构造方法,所以构造方法产生
String name;
int age;
String address;
Student(){
//若自己不写构造方法,编译器会默认提供一个无参构造
}
- 构造方法可以重载(若你想要参数,无参数和不同参数,就用重载)
构造方法体中的参数是写死的,那么就直接写死,不需要传参数
比如:该构造方法中的姓名,年龄,地址等都不清楚赋值为谁,就需要传入参数
只要赋初始值,直接放在构造函数中就可以
student ls =new student();
new+对象+();无参是系统给所有的成员变量赋值为默认值
只要数据不写死,就要传参数
new的操作是省略不了的,无论创建多少个对象
Student zs = new Student("张三",24,"LF")
重点:
上面的的一句代码到底实现了什么?
- 创建一个学生Student的对象
- 为成员变量赋初始值(传进来的三个数不一定是直接进行赋值,可能会做一些其他的操作,但是必定会参与成员变量赋初始值)
- 调用含三个参数的构造方法
二、this
- 指代当前对象,哪个对象调用方法,this就是指代哪个对象
- this只能用在方法(里面),方法中访问成员变量之前就默认有个this(一般都可以省略)
public class Studen