由来
我们发现我们new完对象时,所有成员变量都是默认值,如果我们需要赋别的值,需要挨个为它们再赋值,太麻烦了。我们能不能在new对象时,直接为当前对象的某个或所有成员变量直接赋值呢。可以,Java给我们提供了构造器。
构造器的作用
构造器的语法格式
构造器又称为构造方法,那是因为它长的很像方法。但是和方法还有有所区别的。
示例代码
public class Student {private String name;private int age;// 无参构造public Student() {}// 有参构造public Student(String name, int age) {this.name = name;this.age = age;}//类中的其他代码
}
注意事项:
JavaBean是 Java语言编写类的一种标准规范。符合JavaBean 的类,要求:
格式:
public class ClassName{//私有化成员变量//无参构造方法【必须】//有参构造方法【建议】//getXxx()//setXxx()//其他成员方法}
代码示例
public class Student {// 成员变量private String name;private int age;// 构造方法public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}// get/set成员方法public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}//其他成员方法列表public String getInfo() {return "姓名:" + name + ",年龄:" + age;}
}
测试类,代码如下:
public class Test {public static void main(String[] args) {// 无参构造使用Student s = new Student();s.setName("张三");s.setAge(18);System.out.println(s.getName() + "---" + s.getAge());System.out.println(s.getInfo());// 带参构造使用Student s2 = new Student("李四", 118);System.out.println(s2.getName() + "---" + s2.getAge());System.out.println(s2.getInfo());}
}