构造器
概念:也称构造方法、构造函数。作用是构造出来一个类的实例,确保对象得到初始化。
格式: 权限修饰符 类名(无参/有参){ }。
分类:
- 带参数:有参构造器
- 不带参数:无参构造器
无参构造器
一个无参构造器就是不含参数的构造器,用来创建一个"默认的对象"。如果创建一个类,类中没有构造器,那么编译器就会自动为你创建一个无参构造器。
代码实现:
public class Test01 {
public static void main(String[] args) {
Person p = new Person();
System.out.println(p.name);
System.out.println(p.sex);
System.out.println(p.age);
p.eat();
p.sleep();
}
}
class Person{
//属性
String name;
char sex;
int age;
//构造方法 -- 无参构造
public Person(){
System.out.println("Person的无参构造");
this.name = "彭于晏";
this.sex = '男';
this.age = 43;
}
//成员方法
public void eat(){
System.out.println(this.name + "吃饭饭");
}
public void sleep(){
System.out.println(this.name + "睡觉觉");
}
//静态方法
public static void method(){
System.out.println("静态方法");
}
}
有参构造器
有参构造器是指在创建对象时需要提供参数的构造器。通过有参构造器,我们可以在创建对象时传递参数,并使用这些参数来初始化对象的属性。有参构造器可以根据需要接收任意数量和类型的参数,以满足不同的需求。
代码实现:
public class Test01 {
public static void main(String[] args) {
Person p = new Person("彭于晏", '男', 43);
System.out.println(p.name);
System.out.println(p.sex);
System.out.println(p.age);
p.eat();
p.sleep();
}
}
class Person{
//属性
String name;
char sex;
int age;
//构造方法 -- 有参构造
public Person(String name,char sex,int age){
this.name = name;
this.sex = sex;
this.age = age;
}
//成员方法
public void eat(){
System.out.println(this.name + "吃饭饭");
}
public void sleep(){
System.out.println(this.name + "睡觉觉");
}
//静态方法
public static void method(){
System.out.println("静态方法");
}
}
构造方法VS成员方法
- 格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
作用区别
构造方法用于创建对象,并进行初始化。
普通成员方法是用于完成特定功能的代码块。调用区别
构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数。
普通成员方法是由创建好的对象调用,可以调用多次
总结
1.构造器必须与类同名
2.每个类可以有一个以上的构造器
3.构造器的参数个数大于等于0个
4.构造器没有返回项
5.构造器总是伴随着new操作一起调用