大家好,我是小源Java
很高兴与大家一起探讨Java的相关知识,想必各位小伙伴们都听说过用静态代码块,实例代码块,构造函数来初始化类和对象,但对彼此之间的区别有些模糊了吧,接下来我将从它们的定义与应用场景(主要)方面说明。
先从一张图片简单了解一下它们的定义
执行顺序为静态代码块,实例代码块,构造方法。
接下来主要从应用场景方面阐述不同:
- 静态代码块由于只在类加载时初始化一次,适合加载静态资源如数据库连接池、配置文件等,例如
此外还可以应用于单例模式中,再次不在过多阐释设计模式。
- 实例代码块主要用于类有多个构造方法时,它们有一些共同初始化逻辑时,避免代码重复,可以理解为变量设置默认值,后续也可以通过set方法改变,例如
此时就为每一个创建的对象设置了默认年龄,此外也可以动态初始化变量,例如生成random值,在创建编号的场景下常见。
- 最为常见的就是构造函数,简单来说就是为变量手动赋值,分为有参构造和无参构造,想必到了这里大家就较为熟悉了,例如
那今天关于初始化赋值的知识就为大家介绍到这了,相信通过我的介绍,各位小伙伴已经有了比较深入的了解,希望我的文章可以帮到你。
此文章为大体认知,不全或者有误的地方欢迎大家在评论区补全和指正。