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

JAVA代码块

局部代码块:

提前结束变量的生命周期。 

public class Test {
private String name;
private int age;
public Test(){
    System.out.println("开始创建对象");
}
public  Test(String name,int age){
    System.out.println("开始创建对象");
    this.name=name;
    this.age=age;
}

}

上面两个构造方法中,都有打印语句,并且相同,这时我们就可以用构造代码块,把重复的代码抽取出来放在构造代码块中。

public class Test {
private String name;
private int age;

    {
        System.out.println("开始创建对象");
    }
public Test(){
}
public  Test(String name,int age){
    this.name=name;
    this.age=age;
}

}

构造代码块:

1.写在成员位置的代码块

2.作用:可以把多个构造方法中重复的代码抽取出来。

3.执行时机:我们在创建本类对象的时候,会先执行构造代码块,再执行构造方法。

静态代码块:

静态代码块是使用 static 关键字修饰的代码块,它独立于类的成员方法和构造方法,在类被加载时执行,并且只执行一次。多用于数据的初始化。其语法格式如下:

public class Test {
private String name;
private int age;

    static {
        System.out.println("开始创建对象");
    }
public Test(){
}
public  Test(String name,int age){
    this.name=name;
    this.age=age;
}

}

 特点

1.自动执行:无需手动调用,当类被加载到 JVM(Java 虚拟机)时,静态代码块会自动执行。

2.只执行一次:无论创建多少个该类的对象,静态代码块只在类加载时执行一次。

3.优先执行:静态代码块的执行顺序优先于构造方法和普通代码块。

相关文章:

  • visual studio配置opencv
  • 【后端开发面试题】每日 3 题(十一)
  • 【linux】解决 Linux 系统中 root 用户无法打开图形界面问题
  • Python 的字符串格式化方法
  • 编程助手学Python--Deepseek对OpenAI的Python库调用GPT-4模型生成对话回复理解
  • docker 常用命令大全(二),docker 镜像操作 ,持续更新
  • 仅仅使用pytorch来手撕transformer架构(1):位置编码的类的实现和向前传播
  • 系统架构设计师知识小科普:系统架构评估
  • 【文献阅读】SPRec:用自我博弈打破大语言模型推荐的“同质化”困境
  • Linux上位机开发实战(qt编译之谜)
  • vue 仿deepseek前端开发一个对话界面
  • 3分钟复现 Manus 超强开源项目 OpenManus
  • 使用netlify部署github的vue/react项目或本地的dist,国内也可以正常访问
  • 人工智能混合编程实践:Python ONNX进行图像超分重建
  • PyTorch 和 Python关系
  • 先进制造aps专题三十一 免费企业高级计划和优化(Advanced Planning and Optimizer)产品FreeAPO简介
  • ELK traceId实现跨服务日志追踪
  • 【MySQL】MySQL程序解析
  • Leetcode 95-不同的二叉搜索树 II
  • Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)
  • 两部门发布山洪灾害气象预警:北京西部、河北西部等局地山洪可能性较大
  • 陕西澄城樱桃在上海推介,向长三角消费者发出“甜蜜之邀”
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 外交部答澎湃:美方攻击抹黑中加关系与合作的卑劣图谋不会得逞
  • 加力、攻坚、借力、问效,上海为优化营商环境推出增量举措
  • 李彦宏:技术迭代速度之快从业30年来未见过,要提升执行力战胜对手