实例化对象过程中会调用构造方法。如果没有写构造方法,实例化过程中系统默认会生成一个无参数无内容的构造方法来调用。但是如果写了一个带参数的构造方法,那系统就不会自动生成空参构造方法了,会导致我们无法调用 Student student = new Student()方法,所以我们还要同时写一个无参数无内容的构造函数。下面我们定义一个Student对象:
public class Student{
private String name;
private String subject;
//无参数无内容的构造方法
public Student(){
}
//有参数的构造方法
public Student(String name, String subject){
this.name = name;
this.subject = subject;
}
我们对Student对象进行实例化操作
public class Student {
private String name;
private String subject;
//无参数无内容的构造方法
public Student(){
}
//有参数的构造方法
public Student(String name, String subject){
this.name = name;
this.subject = subject;
}
public String getName(){
return name;
}
public void String setName(String name){
this name = name;
}
public String getSubject(){
return name;
}
public void String setSubject(String subject){
this subject = subject;
}
public static void main(String[] args) {
//这里调用的是无参的构造方法
Student stu1 = new Student();
stu1.setName("张三");
stu1.setSubject("数学");
//这里调用的是有参的构造方法
Student stu2 = new Student("李四","语文");
}
}
首先看无参的构造方法:
Student stu1 = new Student();
stu1.setName("张三");
stu1.setSubject("数学");
输出stu1.getName()得到的值是:张三,输出stu1.getSubject()得到的值是:数学
再看一下有参的构造方法:Student stu2 = new Student("李四","语文");
输出stu2.getName()得到的值是:李四,输入stu2.getSubject()得到的值是:语文