【Java 基础】 2 面向对象 - 构造器
- 第 149 篇 -
Date: 2025 - 11- 16
Author: 郑龙浩(仟墨)
【Java 基础】
2 面向对象 - 构造器
2.1 构造器介绍
和方法的创建方法类似,其实构造器就是一种特殊的方法
满足以下条件:
- 在类中创建
- 没有返回值类型
- 构造器名字与类名必须保持一致
- 可以增加参数
下面就是一个简单的构造器(无参数构造器)
// ====== Student.java文件 ======
public class Student {// 构造器public Student() {}
}
2.2 无参数构造器 | 有参数构造器
constructor:构造器
- 不写构造器,则**「类」默认有一个无参构造器**
- 只要在类中定义了>=1个有参构造器,默认的无参构造器就会消失,此时必须手动创建「无参构造器」,否则无法使用无参构造器
// ====== Student.java 文件======
package zhenglonghao.constructor;public class Student {// 1 无参构造器(如果设置了有参构造器,则必须设置无参构造器,因为默认的构造器将不能被调用)public Student() {}// 2 有参构造器(姓名)public Student(String name) {}// 3 有参构造器(姓名和年龄)public Student(String name, int age) {}
}
2.3 创建「对象」时,对象会自动调用「构造器」
用下面代码证明创建对象时,对象会自动调用「构造器」
利用这个特性,可以在有参数构造器中,自动对成员初始化
Test.java文件
// ====== Student.java 文件======
package zhenglonghao.constructor;public class Test {public static void main(String[] args) {// 使用无参构造器创建对象Student s1 = new Student();// 使用有参构造器创建对象(传入参数ZLH,20分别到n与a)// 创建对象的时候,可以立即为对象赋值Student s2 = new Student("ZLH", 20);System.out.println("姓名: " + s1.name);System.out.println("年龄: " + s1.age);
}
Student.java文件
// ====== Student.java 文件======
package zhenglonghao.constructor;public class Student {String name;int age;char sex;// 1 无参构造器(如果设置了有参构造器,则必须设置无参构造器,因为默认的构造器将不能被调用)public Student() {}// 2 有参构造器(姓名)public Student(String n) {name = n; // 将传入的参数赋值给name}// 3 有参构造器(姓名和年龄)public Student(String n, int a) {name = n;age = a;}
}
