当前位置:网站首页 > 技术博客 > 正文

java中构造器和构造方法



一、构造方法的作用

简单来说就是完成对象的创建对象的初始化 (给对象的所有属性赋值)

  • 构造方法的执行分为两个阶段:对象的创建和对象的初始化。顺序不能颠倒也不能分割。
  • 在Java中,当我们使用关键字时,就会在内存中创建一个新的对象,虽然对象已经被创建出来了,但还没有被初始化。而初始化则是在执行构造方法体时进行的。

二、定义构造方法

[修饰符列表] 构造方法名(形参列表){
构造方法体;
}


注意:① 构造方法名必须和类名一致
② 构造方法不需要提供返回值类型,默认返回该创建的对象的地址

三、构造方法的调用

使用运算符来调用
语法: 构造方法名(实参)
注意:① 构造方法最终执行结束之后,会自动将创建的对象的内存地址返回。但构造方法体中不需要提供这样的语句
② 如果一个类中没有显式定义构造方法,系统默认提供一个无参数的构造方法(这样被称为缺省构造器)
③ 如果一个类中定义了带参数的构造方法,无参数的构造方法不会默认创建,因此建议定义多个构造方法(方法重载),手动加上无参的构造方法



四、构造方法执行原理

  • 构造方法执行包括两个重要的阶段
    • 第一阶段:对象的创建
    • 第二阶段:对象的初始化
  • 对象在什么时候创建的
    • 在的时候,会直接在堆内存中开辟空间。然后给所有属性赋默认值,完成对象的创建。(这个过程是在构造方法体执行之前就完成了)
    • 构造方法体开始执行,标志着开始进行对象初始化。构造方法体执行完毕,表示对象初始化完毕。(构造方法体通常是对对象的属性进行赋指定值或默认值)

六、构造方法代码解读

 
  

*六、构造代码块

  • 每一次对象就会先自动执行构造代码块内容,无论是无参构造还是有参构造
  • 构造代码块是在构造方法执行之前执行的
  • 构造代码块中可以使用this. ,说明构造代码块执行之前对象已经创建好了,并且系统已完成默认赋值
  • 用处:
    • 如果所有的构造方法在最开始的时候有相同的一部分代码,不妨将这个公共的代码提取到构造代码块当中。
      注意下面代码中各Student对象的属性值区别
 
  

                            

版权声明


相关文章:

  • class1和class2区别2025-07-25 17:00:59
  • java多线程有几种实现方法实战2025-07-25 17:00:59
  • SQL left join2025-07-25 17:00:59
  • 软件测试面试知识2025-07-25 17:00:59
  • 函数可以在主函数里面声明么2025-07-25 17:00:59
  • linux 查看系统版本信息2025-07-25 17:00:59
  • 驼峰命名的规则2025-07-25 17:00:59
  • 中国电信武汉dns2025-07-25 17:00:59
  • stm32f103程序加密2025-07-25 17:00:59
  • 预测模型的种类2025-07-25 17:00:59