Java构造器 小白版

一、构造器的定义

构造器也叫构造方法,是用于实例化Java对象的一个特殊方法,是一个创建对象时被自动调用的特殊方法.方法名必须和类名保持一致,并且无返回值类型.(作用)用于对象的初始化。

public 类名(){

}

Java通过new关键字来调用构造器,从而返回该类的实例

二、构造器的声明格式

[修饰符] 类名(形参列表){
    //n条语句
}

若无参数列表,称为无参构造器(空构造器);

若有参数列表,称为有参构造器。

三、构造器的特点

  1. 构造器的方法名必须与类名保持一致;
  2. 构造器通过new关键字进行调用;
  3. 构造器不能定义返回值类型,不能在构造器例使用return关键字来返回耨个值;
  4. 如果一个类中有构造器,那么系统不会分配默认的空构造器,需要手动添加无参构造器;如果一个类没有定义构造器,则编译器会自动定义一个无参构造方法。

四、构造器的重载

构造方法也是方法,与普通方法一样,构造方法也可以重载。

 //编写一个带参数的构造器
    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);
    }
}
posted @ 2024-08-13 00:41  椰椰210162701037  阅读(20)  评论(0编辑  收藏  举报