Java学习-构造方法
还是拿一个student的类来说事:
class Student {
String name;
String gender;
int age;
long studentID;
}
public class TestDemo2 {
public static void main(String[] args) {
Student stu1 = new Student();
stu1.name = "张三"; // 给stu1对象的各个成员变量赋值
stu1.gender = "男";
stu1.age = 19;
stu1.studentID = 231245431;
// 打印输出
System.out.println("姓名:" + stu1.name + " 性别:" + stu1.gender + " 年龄:" + stu1.age + " 学号:" + stu1.studentID);
}
}
是不是感觉给对象的成员变量一个一个的赋值太繁琐,能不能一下子就把值赋好呢?
用Java中的构造方法就能做到这一点。
构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用,Java中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。
Java 构造方法有以下特点:
- 构造方法名必须与类名相同
- 可以有 0个或多个参数
- 没有任何返回值
- 默认返回类型就是对象类型本身
- 只能与 new 运算符结合使用
构造方法使用:
class Student {
String name; //学生类的属性
int age;
public void eat() {
System.out.println(name + "在吃饭"); // 学生类的行为(方法)
}
public Student() {
System.out.println("这是自定义的一个不带参数的构造方法");
}
}
public class TestDemo3 {
public static void main(String[] args) {
Student student1 = new Student();
}
}
仅仅实例化一个对象,但是已经输出了构造方法中的内容。
原因就是:当类的对象被创建时,该构造方法将被自动调用。
其实我们在用new关键字实例化对象时 , 程序一定干了这两件事(但可能不只有这两步)
- 在堆区分配对象需要的内存
- 调用合适的构造方法
构造方法的使用
class Student {
String name;
String gender;
int age;
long studentID;
// 该构造方法可由IDEA自动生成
public Student(String name, String gender, int age, long studentID) {
this.name = name;
this.gender = gender;
this.age = age;
this.studentID = studentID;
}
}
public class TestDemo2 {
public static void main(String[] args) {
Student stu1 = new Student("张三", "男", 19, 231245431);
System.out.println("姓名:" + stu1.name + " 性别:" + stu1.gender + " 年龄:" + stu1.age + " 学号:" + stu1.studentID);
}
}
Student stu1 = new Student(“张三”, “男”, 19, 231245431);
一条语句就对属性进行了赋值;
在目前的IDE中,是可以通过快捷方式进行快速创建构造方法。