Day48 构造器详解

发布时间 2024-01-11 16:36:33作者: 白小帆

构造器详解

  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下俩个特点:

  • 1.必须和类的名字相同

  • 2.必须没有返回类型,也不能写void

  • 构造器必须要掌握

1.Person.class文件与Person.java文件进行对比

在idea的out文件夹下面打开同名的class文件,与java同名原文件进行比对发现

多了一串方法,且这个方法没有返回值,另外,方法的名字跟类名相同

所以一个类即使什么都不写,也会存在一个方法(无参构造方法)

public Person() {
}

2.new实例化调用构造

2.1 调用无参构造(Person person = new Person( );)

2.2调用有参构造(Person person = new Person("aug");)

注意 使用new实例化对象必须要有一个构造器

可以是无参构造(class默认就有) 一般来说无参构造里面不写任何东西

也可以是有参构造( 一旦定义了有参构造,无参构造必须显示定义)

3.Alt + Insert快捷键 自动创建有参/无参方法

4.Person.java(笔记整理)一旦定义了有参构造,无参构造必须显示定义

package com.oop.demo02;
//java ---> class
public class Person {
//一个类即使什么都不写,也会存在一个方法(构造方法)
//显示定义的构造器
    String name;
    int age;

   //alt + insert 快捷键生成无参/有参构造器

    //1.使用new关键字,本质是在调用构造器
    //2.用来初始化值


    //无参构造
    public Person(){
        
    }//与类名相同且没有返回值类型跟void的方法


    //有参构造:一旦定义了有参构造,无参构造必须显示定义
    public Person(String name){
        this.name = name;//前面的name代表对象本身的name
        //后面的那么代表参数(String name)传递下来的name
    }


    //下面的用快捷键 按住ctrl全选两个age,name 点击OK 直接生成有参构造
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}


//笔记整理 
/*
 public static void main(String[] args) {

        //new 实例化了一个对象
        Person person = new Person("aug",24);

        System.out.println(person.name);
        System.out.println(person.age);
    }
    构造器:
         1. 和类名相同
         2. 没有返回值
    作用:
         1.new 本质在调用构造方法
         2.初始化对象的值
    注意点:
         1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造

    Alt + Insert快捷键 生成有参/无参

    this. =    (前面this. 一般代表这个类的   = 后面的一般是参数传进来的)
 */



5.Application

package com.oop.demo02;

//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {

        //new 实例化了一个对象
        Person person = new Person("aug",24);

        System.out.println(person.name);//aug
        System.out.println(person.age);//24
    }
}