构造方法
构造方法的引入
1.假设一个类中有100个属性,一个一个set很麻烦
构造方法: 构造方法本身就是一个特殊的方法而已
1.能够快速初始化成员变量的值
2.能够为对象分配内存空间 + new
构造方法的格式:
[访问权限修饰符] 方法名(参数列表) {
方法体;
// return 值;
return;
}
构造方法的特点:
1.构造方法没有返回值,连void都没有
2.构造方法也是方法,存在方法重载
3.构造方法是用来给成员快速初始化的
4.构造方法方法名必须和类名保持一致
构造方法的注意事项:
1.如果我们没有书写构造方法,系统会帮我们书写一个无参构造方法
2.如果你一旦书写了一个带参构造方法,就会覆盖系统的无参构造方法
3.养成一个好习惯: 每次书写一个bean的时候,都写上无参构造方法
好处:
1.无参构造方法能够初始化默认成员的值
2.反射中调用的就是无参构造方法,很多框架中都会利用反射技术创建对象,反射大部分都是依赖无参构造方法
类的组成
class 类 {
成员变量
构造方法
构造方法重载
成员方法
普通方法
读写方法 (get/set方法)
}
一个JavaBean
bean domain pojo entity
代码实现如下
public class ConstructorDemo01 {
public static void main(String[] args) {
Student s = new Student();
s.setName("张三");
s.setAge(18);
s.show();
Student s2 = new Student("李四", 20, "男");
s2.show();
}
}
class Student {
private String name;
private int age;
private String gender;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public void show() {
System.out.println("Student [name=" + name + ", age=" + age + ", gender=" + gender + "]");
}
}