构造代码块、构造函数、静态代码块 学习笔记

不念不忘少年蓝@ 2021-10-06 13:24 631阅读 0赞

构造代码块

  1. package crud.entity;
  2. import java.util.Date;
  3. public class User {
  4. private int uid;
  5. private String naem;
  6. private Date date;
  7. //构造函数
  8. public User(){
  9. System.out.println("构造函数...");
  10. }
  11. //构造代码块
  12. {
  13. System.out.println("构造代码块...");
  14. }
  15. //静态代码块
  16. static{
  17. System.out.println("静态代码块...");
  18. }
  19. ......
  20. public static void main(String[] args){
  21. User u = new User();
  22. }
  23. }
构造代码块的作用:
  • 给对象进行初始化,对象一建立就运行,而且优先于构造函数执行。
构造函数的作用:
  • 给对象进行初始化,对象一建立就运行。
构造函数和构造代码块的区别:
  • 构造代码块是给所有对象进行统一初始化;而构造函数是给对应的对象初始化。
  • 构造代码块中定义的是不同对象共性的初始化内容。
静态代码块的作用:
  • 随着类的加载而执行,只执行一次,并优先于主函数,用于给类进行初始化。

下面为 new 一个对象的执行步骤

  1. User u = new User();

1、加载User.class

2、执行该类的static代码块,如果有的话,给User.calss初始化

3、在堆内存中开辟空间,分配内存地址

4、在堆内存中建立对象的特有属性,并进行默认初始化

5、对属性进行显示初始化

6、对对象进行构造代码块初始化

7、对对象进行对应的构造函数初始化

8、将内存地址赋给栈内存中的u变量

发表评论

表情:
评论列表 (有 0 条评论,631人围观)

还没有评论,来说两句吧...

相关阅读