当前位置: 首页 > news >正文

静态代码块为什么不能放在构造函数中

静态代码块和构造函数的区别可以简单理解为:

  1. 静态代码块:在类加载的时候执行,只执行一次,不管你创建多少个对象。它通常用于初始化和类相关的静态数据或资源。

  2. 构造函数:每次创建一个对象的时候都会执行,用来初始化这个对象的属性。

为什么不把代码放到构造函数?

如果你只需要某些代码执行一次,比如设置全局配置或者初始化静态变量,那么就用静态代码块。如果放到构造函数中,每次创建对象都会重复执行,浪费资源。

简单来说:

  • 静态代码块:类加载时运行一次。
  • 构造函数:每次创建对象时运行。

例子:

public class Example {static int staticVar;static {staticVar = 10; // 静态代码块在类加载时执行System.out.println("静态代码块执行");}public Example() {System.out.println("构造函数执行");}public static void main(String[] args) {Example obj1 = new Example(); // 构造函数执行Example obj2 = new Example(); // 构造函数再次执行}
}

输出:

静态代码块执行
构造函数执行
构造函数执行

你可以看到静态代码块在类加载时执行一次,而构造函数随着每次实例化都会执行。


http://www.mrgr.cn/news/55614.html

相关文章:

  • 保研推荐信模板
  • Redis入门:在Java程序中高效使用Redis
  • 博客|基于springBoot的精简博客系统设计与实现(附项目源码+论文+数据库)
  • 技术方向简介
  • Android常用C++特性之std::piecewise_construct
  • 【文献及模型、制图分享】长江中游经济区“水—能源—粮食”系统与城市绿色转型适配性研究
  • 在C++中比大小
  • 嵌入式开发学习——c语言完结
  • 10.21 IO进程直接的通信
  • .mkp勒索病毒攻击全攻略:防护、数据恢复与安全建议
  • LC:动态规划-买卖股票
  • IPv4头部和IPv6头部
  • Lua中的goto语句
  • ZYNQ:流水灯实验
  • .net framework3.5sp1runtime组件怎么开启
  • Python Web 框架中 Django 框架
  • Java面试题五
  • AB包资源管理器
  • CISP/NISP二级练习题-第一卷
  • c语言typedef的使用 Java短路逻辑运算符
  • Linux 查看进程内存占用的 6 种方法,建议点赞收藏备用,排查问题好帮手
  • 详解23种设计模式——第二部分:结构型模式
  • 计算机基础 -- 计算机补码的原理
  • 数据库中`cast(x as type)` 或 `convert(type, x)` 函数的处理
  • Git合并多个分支中的提交内容
  • 用PYTHON可视化分析热门MEMECOIN的代码思路参考。