构造方法:
作用:给对象的数据进行初始化。
格式:方法名与类名相同,没有返回值类型,连void都没有,没有具体的返回值。
注意:如果你不提供构造方法,系统会提供默认的无参构造方法,如果你提供了构造方法,系统将不会再提供默认的构造方法, 构造方法是可以重载的。当重载了有参构造方法之后,如果我们再想使用无参构造方法,必须自己给出。
给成员变量赋值有两种方式:
1.setXxxx()
2.构造方法
示例:
class Student {
private String name;//null
private int age;//0
//无参构造方法
public Student() {
System.out.println("无参构造方法");
}
//有String参构造方法
public Student(String name) {
//有一个String参数的构造方法
System.out.println("有String参构造方法");
this.name = name;
}
//有int参构造方法
public Student(int age) {
System.out.println("有int参构造方法");
this.age = age;
}
//有两个参数的构造方法
public Student(String name,int age) {
System.out.println("这是一个有多个参数的构造方法");
this.name = name;
this.age = age;
}
//用该方法观察变量的值的改变
public void show() {
System.out.println(name+"---"+age);
}
}
测试类:
class ConstructDemo {
public static void main(String[] args) {
//创建第一个对象,用来测试默认的构造方法
Student s = new Student();
System.out.println(s);//Student@e5bbd6
System.out.println("------------");
//创建第二个对象,测试无参构造方法
Student s1 = new Student();
s1.show();
System.out.println("------------");
//创建第三个对象,用来测试有String参构造方法
Student s2 = new Student("孙悟空");
s2.show();
System.out.println("-----------");
//创建第四个对象,用来测试有int参构造方法
Student s3 = new Student(500);
s3.show();
System.out.println("-----------");
//创建第五个对象,用来测试有多个参数的构造方法
Student s4 = new Student("孙悟空",500);
s4.show();
}
}