构造方法
什么是构造方法?
构造方法又称为构造器,它是类中的特殊的方法
构造方法的格式
【修饰符列表】 构造方法名(形式参数列表){
构造方法体;
}
构造方法的特点:
1.构造方法的名称要和类名一致
2.构造方法的声明没有返回值类型,也就是不需要编写返回值类型或void
3.构造方法的声明不能有static关键字,否则将变为普通静态方法
代码实例:
public class Student {
String name;
int age;
char gender;
Grade grade;
// 无参构造
public Student(){}
// 有参构造
public Student(String name, int age, char gender, Grade grade){
this.name = name;
this.age = age;
this.gender = gender;
this.grade = grade;
}
}
其实通过上面的代码实例,不难看出,构造器的声明默认就使用了方法的重载,同一个类中的所有构造方法名称都相同(为类名)
构造方法的分类:
1.无参构造:
构造方法声明时没有形参
2.有参构造:
构造方法声明式带有形参列表
构造方法的作用:
1、构造方法存在的意义,通过构造方法的调用,可以创建对象(也就是在我们使用new的方式,创建对象的时候,根据我们传入的参数列表去调用了相匹配的构造方法)
2、创建对象的时候,初始化实例变量的内存空间(初始化实例变量的初始值)
注意:这里简单介绍一下不同数据类型的实例变量,在创建对象初始化的时候默认值都是什么
基本数据类型: 默认初始值
byte、short、int、long 0
char \u0000
float、double (0.0f)0.0
boolean false
引用数据类型(例如String) null
重点:
重点1:我们在类中可以不编写构造方法,系统会默认给该类提供一个无参构造,也就是“缺省构造器“
重点2:当我们在类中编写了构造方法,那么系统将不再自动提供无参构造方法,也就是如果我们只编写了有参构造方法时,该类就不再具备无参构造,
在创建对象的时候就必须要传入实例属性的参数列表
this关键字
this关键字的作用:
this关键字在类中可以访问实例变量和实例方法
举例:我们在类中定义实例变量后,在定义方法时传入了形参也就是局部变量,当局部变量和实例变量名称相同时,如果在方法中直接访问变量名的话,
会就近访问局部变量,这时在变量名前加上this.就可以方法实例变量了
代码实例:
public Student(String name, int age, char gender, Grade grade){
this.name = name; // this.name就是实例变量,这句代码就是将形参name的值赋给实例变量name
this.age = age;
this.gender = gender;
this.grade = grade;
}
访问实例方法同理!