首先要明确的是构造方法是用来简化初始化类对象这一过程的。
格式:修饰符 构造方法名(参数列表){
方法体
}
!!!注意,构造方法名要与类名一致。
例如如下类:
public class Student {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
那么我们在使用该类的时候有:
public static void main(String[] args){
Student stu = new Student();
//下面是给成员变量赋值。
stu.setName("张三三");
System.out.println(stu.getName());
}
上述的方法有些麻烦。我们可以在创建类的时候使用构造方法来初始化类对象。
那么修改过后的原类变成:
public class Student{
public Student();
//实际上,如果我们不写任何的构造方法,上面一行代码也会系统自动写上。
public Student(String name){
this.name = name;
}
//这个是有参构造方法,在写完有参构造方法之后,调用类就会很方便了。
//需要注意的是上述两种构造方法一般同时存在。不管存在哪一种,系统不会自动创建构造方法了。
//后面与之前一样了。
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
那么调用该类就会变得简单一些:
public static void main(String[] args){
//下面我们先写使用有参构造方法的代码:
Student stu = new Student("张三三");
System.out.println(stu.getName);
//再写无参构造方法的代码:
Student stu2 = new Student();
stu2.setName("张三三");
System.out.println(stu2.getName);
可以看出来写出有参构造方法之后,在调用类的时候比较方便的可以初始化对象。
而一般我们会把无参构造与有参构造都写出来。
}
整体代码测试:
public class Student4 {
public static void main(String[] args) {
Student4 stu = new Student4();
stu.setName("张三三");
stu.setAge(23);
System.out.println(stu.getName());
System.out.println(stu.getAge());
Student4 stu2 = new Student4("李四四",23);
System.out.println(stu2.getName());
System.out.println(stu2.getAge());
//从这里可以看出设置有参构造之后的类的对象显然要比无参构造的类用法简单一些。
}
public Student4 () { };
//无参构造方法
public Student4 (String name,int age) {
this.name = name;
this.age = age;
}
//有参构造方法。可以看出有参构造方法这里可以起到setName与setAge的功能。
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}