• Java的构造器 / 构造方法



    一、什么是构造器?

    构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

    主要作用 是完成 对新对象的初始化。

    二、对构造器的理解

    1.构造器,也称构造方法、构造函数。作用是构造出来一个类的实例,确保对象得到初始化。

    2.构造器的格式: 权限修饰符 类名(无参/有参){}。

    3.根据有无参数,可分为无参构造 和有参构造。

    构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。

    构造器可以用来在初始化对象时初始化数据成员,一个类可以有多个构造器。一个类的构造器的名称必须与该类的名称一致。要退出构造,可以使用返回语句“return;”

    三、 构造器的说明

    1. 构造器 的修饰符可以默认
    2. 构造器没有返回值
    3. 方法名和类名字必须一致
    4. 参数列表 和 成员方法一样的规则
    5. 构造器的调用系统完成

    四、 细节

    1. 构造器没有返回值,也不能写void
    2. 构造器的名称和类person一样
    3. (String pName, int pAge) 是构造器形参列表,规则和成员方法一样

    五、构造器的特性

    1.与一般方法名不同是,构造方法名必须和类名保持一致,并且没有返回值,甚至连void都没有。

    2.Java编译器会自动创建无参构造函数,因此在类中,无参构造即使没有,我们也可省略不写。实例化对象时无需赋值

    3.倘若类中已存在有参构造函数,则编译器不再提供默认无参构造。实例化对象时需赋值,不然报错。

    4.当类实例化一个对象时会自动调用构造方法。

    5.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承

    6.每个类可以有零个或多个构造方法.

    六、代码实现

    public class ctorExercise {
        //编写一个main方法
        public static void main(String[] args) {
            Person6 p1 = new Person6();//无参构造器
            //name = null  ; age = 18
            System.out.println("p1的信息 name =" + p1.name + "age=" + p1.age);
            Person6 p2 = new Person6("scott",50);
            System.out.println("p1的信息 name =" + p2.name + "age=" + p2.age);
        }
    }
    /*
     * 在前面定的Person类中添加两个构造器 :
     * 第一个无参构造器 : 利用构造器设置所有人的 age 属性初始值都为18
     * 第二个带 pName 和 pAge 两个参数 的构造器:
     * 使得每次创建 Person 对象的同时初始化对象的 age 属性值 和 name 属性值
     * 分别使用不同的构造器 ,创建对象  */
    
    class Person6 {
        String name;//默认值 null
        int age;//默认值 0
    
        //第一个无参构造器 :利用构造器 设置所有人的 age 属性初 始值都为18
        public Person6() {
            age = 18;
        }
    
        //第二个带pName 和 pAge 两个参数的构造器
        public Person6(String pName, int pAge) {
            name = pName;
            age = pAge;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    代码解析

    在Person类中添加两个构造器 :

    • 第一个无参构造器 : 利用构造器设置所有人的 age 属性初始值都为18
    • 第二个带 pName 和 pAge 两个参数 的构造器:
    • 使得每次创建 Person 对象的同时初始化对象的 age 属性值 和 name 属性值
    • 分别使用不同的构造器 ,创建对象
    • 然后对比有参构造器 与 无参 构造器的运行结果

    结果:

    七、总结

    以上就是关于构造器的内容。

  • 相关阅读:
    如何用 ChatGPT 的 Advanced Data Analysis 帮你采集数据?
    Python并发编程之threading模块
    Kotlin 集成 Camera2 API 在安卓上,非常棒
    JavaScript单线程模型
    专业人士必知的渗透测试工具!
    Qt中INI 配置文件的读写操作
    一位苦逼程序员的找工作经历
    promise详解
    2022年8月18日:面向初学者的 web 开发--JavaScript 变量和数据类型
    雷电模拟器上使用第一个frida(三)简单的使用实例
  • 原文地址:https://blog.csdn.net/m0_57448314/article/details/126711485