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);
}
}