Java构造器 小白版
一、构造器的定义
构造器也叫构造方法,是用于实例化Java对象的一个特殊方法,是一个创建对象时被自动调用的特殊方法.方法名必须和类名保持一致,并且无返回值类型.(作用)用于对象的初始化。
public 类名(){
}
Java通过new关键字来调用构造器,从而返回该类的实例
二、构造器的声明格式
[修饰符] 类名(形参列表){
//n条语句
}
若无参数列表,称为无参构造器(空构造器);
若有参数列表,称为有参构造器。
三、构造器的特点
- 构造器的方法名必须与类名保持一致;
- 构造器通过new关键字进行调用;
- 构造器不能定义返回值类型,不能在构造器例使用return关键字来返回耨个值;
- 如果一个类中有构造器,那么系统不会分配默认的空构造器,需要手动添加无参构造器;如果一个类没有定义构造器,则编译器会自动定义一个无参构造方法。
四、构造器的重载
构造方法也是方法,与普通方法一样,构造方法也可以重载。
//编写一个带参数的构造器
public Person(String name, int age, String sex) {
this.name = name; //this.name代表Person中的属性name,= 后面的name代表构造器中的参数name
this.age = age;
this.sex = sex;
}
//方法重载
public Person(String name, int age) {
this.name = name;
this.age = age;
}
五、构造器快捷键
Alt + insert —>constructor——>选择属性
六、实例
public class Person {
String name;
int age;
String sex;
//定义一个学习方法
public void study(){
System.out.println("Good good study, day day up!");
}
//显式编写一个空构造器
public Person() {
System.out.println("Person 空构造器");
}
//编写一个带参数的构造器
public Person(String name, int age, String sex) {
this.name = name; //this.name代表Person中的属性name,= 后面的name代表构造器中的参数name
this.age = age;
this.sex = sex;
}
//方法重载
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Person p1 = new Person("二两客", 22, "Male");
System.out.println(p1.name + " " + p1.age + " " + p1.sex);
p1.study();
Person p2 = new Person("椰椰", 22);
System.out.println(p2.name + " " + p2.age);
p2.study();
}
}
public class Test02 {
public static void main(String[] args) {
/*
* 创建一个person对象
* new person();
* person();———————>空构造方法
* new 关键字对方法进行调用,
* 构造器作用:底层自动帮我们创建对象,在创建对象以后进行初始化操作
* 如果一个类没有显式编写构造器,则系统会自动提供一个空构造器,即无参构造器
* 空构造器的作用:创建一个对象,但不进行任何初始化操作
* 调用构造器以后,对对象进行初始化操作,将对象的地址返回给person
*/
Person person = new Person("椰椰", 22, "male");
System.out.println(person.name+""+person.age+""+person.sex);
Person person2 = new Person("椰椰",+22);
System.out.println(person2.name+""+person2.age);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具