目录
构造方法是一种特殊的方法
作用:创建对象Student stu = new Student();
格式:
pucli class 类名{
修饰符 类名(参数){
}
}
功能:主要是完成对象数据的初始化
示例代码:
- class Student {
- private String name;
- private int age;
- //构造方法
- public Student() {
- System.out.println("无参构造方法");
- }
- public void show() {
- System.out.println(name + "," + age);
- }
- }
- /*
- 测试类
- */
- public class StudentDemo {
- public static void main(String[] args) {
- //创建对象
- Student s = new Student();
- s.show();
- }
- }
构造方法的创建
如果没有定义构造方法,系统将给一个默认的无参构造方法,如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载
如果自定义了无参构造方法,还要使用无参构造方法,就必须再写一个无参数构造方法
推荐的使用方式
无论是否使用,都手工书写无参数构造方法
重要功能
可以使用带参构造,为成员变量进行初始化
示例代码:
- /*
- 学生类
- */
- class Student {
- private String name;
- private int age;
- public Student() {}
- public Student(String name) {
- this.name = name;
- }
- public Student(int age) {
- this.age = age;
- }
- public Student(String name,int age) {
- this.name = name;
- this.age = age;
- }
- public void show() {
- System.out.println(name + "," + age);
- }
- }
- /*
- 测试类
- */
- public class StudentDemo {
- public static void main(String[] args) {
- //创建对象
- Student s1 = new Student();
- s1.show();
- //public Student(String name)
- Student s2 = new Student("小红");
- s2.show();
- //public Student(int age)
- Student s3 = new Student(30);
- s3.show();
- //public Student(String name,int age)
- Student s4 = new Student("小红",20);
- s4.show();
- }
- }
需求:定义标准学生类,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXxx赋值,有参创建的对象直接赋值,并通过show方法展示数据
示例代码:
- class Student {
- //成员变量
- private String name;
- private int age;
- //构造方法
- public Student() {
- }
- public Student(String name, int age) {
- this.name = name;
- this.age = age;
- }
- //成员方法
- 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 void show() {
- System.out.println(name + "," + age);
- }
- }
- /*
- 创建对象并为其成员变量赋值的两种方式
- 1:无参构造方法创建对象后使用setXxx()赋值
- 2:使用带参构造方法直接创建带有属性值的对象
- */
- public class StudentDemo {
- public static void main(String[] args) {
- //无参构造方法创建对象后使用setXxx()赋值
- Student s1 = new Student();
- s1.setName("小红");
- s1.setAge(20);
- s1.show();
- //使用带参构造方法直接创建带有属性值的对象
- Student s2 = new Student("小红",20);
- s2.show();
- }
- }