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

java中普通代码块和静态代码块之间的区别(java小知识点)

文章目录

      • 1.普通代码块(实例代码块)
        • 1.1用法
      • 2.静态代码块
        • 2.1用法
      • 3.总结

1.普通代码块(实例代码块)

实例代码块是一段未包含在任何方法或构造器中的代码。它再每次创建类的实例时候执行,并且优先于构造器执行.
用途一般是对对象的非静态属性进行初始化的操作

1.1用法
public class MyClass {
    {
        System.out.println("Instance block executed.");
    }

    public MyClass() {
        System.out.println("Constructor executed.");
    }

    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();
    }
}

输入结果:

Instance block executed.
Constructor executed.
Instance block executed.
Constructor executed.

2.静态代码块

静态代码块是用static修饰的代码块,它再类的加载时执行,并且只会执行一次,无论你创建多少个对象。静态代码块主要用于类的静态初始化。

2.1用法
public class MyClass {
    static {
        System.out.println("Static block executed.");
    }

    {
        System.out.println("Instance block executed.");
    }

    public MyClass() {
        System.out.println("Constructor executed.");
    }

    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();
    }
}

输出结果

Static block executed.
Instance block executed.
Constructor executed.
Instance block executed.
Constructor executed.

静态代码块的执行顺序先于普通代码块

3.总结

在这里插入图片描述


http://www.kler.cn/a/297137.html

相关文章:

  • 【java入门】不同数据类型间的运算、自动提升与强制转换
  • 【Rust】006-Rust 枚举与`match`、`if let`、`let else`
  • 【Git】本地仓库操作
  • docker基于minio部署outline团队知识库
  • 计算机毕业设计选题推荐-果蔬生产溯源管理系统-Java/Python
  • 【880高数】高等数学一刷错题整理
  • 人工智能与机器学习原理精解【18】
  • [⁠TypeError⁠]‍ {message: “Cannot read property ‘‘ of undefined“}
  • 600 条最强 Linux 命令总结
  • 进程间通信之消息队列详解
  • C++学习笔记(13)
  • 台球助教小程序开发源码搭建
  • 鸿蒙开发(API 12 Beta6版)【通用属性协议】 网络篇
  • 圣诞节:白酒与西式料理的异国风情
  • opencascade源码学习之HLRAlgo包 -HLRAlgo
  • idea报错:java:错误:不支持发行版本5
  • ‍ 猫头虎 分享:Python库 Scikit-Learn 的简介、安装、用法详解入门教程
  • Docker安装phpmyadmin
  • 预告预告-首款3A巨作《黑神话悟空》攻略集大放送,开发版图数据库StellarDB构建通关指南
  • 【平渊网络】副业项目拆解:视频借鉴式搬运项目 | 搞笑视频跨平台 “借鉴式” 搬运项目思路 | 抖音防查重机制基础