java 什么是构造器
时间: 2023-08-16 09:09:28 浏览: 94
回答: 构造器也称之为构造方法或构造函数,是用来构造一个类的实例并确保对象初始化的方法。它的格式是权限修饰符 类名(参数列表) {}。根据有无参数,构造器可以分为有参和无参构造函数。构造器的主要作用是初始化对象,创建一个对象时系统会自动根据对象实例进行默认初始化,如果想要改变默认初始化,可以通过自定义构造器来实现。一个类可以有多个构造器,但构造器的名称必须与类名一致。\[3\]
构造器与一般方法的区别在于,构造方法必须与类名一致,没有返回值,甚至连void都没有。Java编译器会自动创建无参构造函数,如果类中没有手动添加构造器,编译器会默认再添加一个无参构造器。但如果手动添加了构造器,无论是有参还是无参,编译器就不会再提供默认的无参构造器,实例化对象时需要赋值,否则会报错。构造器不可以被static、final、synchronized、abstract和native修饰,而且构造方法不会被子类继承。每一个类可以有多个构造方法。\[1\]\[2\]
举个例子,如果有一个学生类,可以定义无参构造器来创建一个学生对象,也可以定义有参构造器来在创建对象的同时初始化学生的姓名和年龄。无参构造器可以省略不写,因为编译器会自动添加一个无参构造器。\[3\]
示例一:学生类-无参构造
```java
public class Student {
public String name;
public int age;
public Student() {
System.out.println("括号内无参数,这就是无参构造");
}
}
```
示例二:学生类-有参构造
```java
public class Student {
public String name;
public int age;
public Student(String n, int a) {
name = n;
age = a;
}
}
```
在示例二中,我们定义了一个有参构造器,可以在创建学生对象时传入姓名和年龄来初始化学生对象的属性。\[3\]
总结来说,构造器是用来构造对象并初始化对象的方法,它的特点是方法名与类名一致,没有返回值,可以有多个构造器,但必须有不同的参数列表。\[3\]
#### 引用[.reference_title]
- *1* *2* [构造器是什么?(Java篇)](https://blog.csdn.net/qq_43511405/article/details/104903989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Java构造器概述](https://blog.csdn.net/qq_42544728/article/details/125766702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文