java中的static{}块的实例详解

Java中的static{}块的实例详解

概述

在Java中,可以使用static关键字定义的静态代码块static {},这个静态代码块在类被加载时执行,且只执行一次。可以用于在类加载时进行一些必要的初始化操作等。

示例说明一

public class StaticTest {
    static {
        System.out.println("静态代码块执行了");
    }
    public StaticTest() {
        System.out.println("构造函数执行了");
    }
    public static void main(String[] args) {
        new StaticTest();
    }
}

输出结果:

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

解析:在main方法中调用了new StaticTest(),此时由于该类还未被实例化,所以首先执行了静态代码块,输出了“静态代码块执行了”,然后才执行了构造函数,输出了“构造函数执行了”。

示例说明二

public class StaticTest {
    static {
        System.out.println("静态代码块一执行了");
    }
    static {
        System.out.println("静态代码块二执行了");
    }
    static {
        System.out.println("静态代码块三执行了");
    }
    public StaticTest() {
        System.out.println("构造函数执行了");
    }
    public static void main(String[] args) {
        new StaticTest();
    }
}

输出结果:

静态代码块一执行了
静态代码块二执行了
静态代码块三执行了
构造函数执行了

解析:在类被加载时,同时执行了三个静态代码块,依次输出了“静态代码块一执行了”、“静态代码块二执行了”、“静态代码块三执行了”,然后才执行构造函数,输出了“构造函数执行了”。

总结

  • static关键字可以用于定义静态代码块,该代码块在类被加载时只会执行一次。
  • 静态代码块可以用于在类加载时进行一些必要的初始化操作等,比如读取配置文件。
  • 如果存在多个静态代码块,它们会按定义的顺序依次执行。
  • 静态代码块中的变量必须为静态变量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中的static{}块的实例详解 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • java实现单机限流

    Java实现单机限流,可以通过限制每秒钟能处理多少次请求、对同一IP的请求进行限制等手段来避免服务被恶意请求压垮。下面是实现单机限流的完整攻略: 步骤一:引入限流工具包 Java实现单机限流可以使用开源限流工具包,比如Guava、Redis等。 以Guava为例,引入Guava限流工具包的步骤如下: 在pom.xml文件中添加以下依赖 <depende…

    Java 2023年5月19日
    00
  • Java中try catch处理异常示例

    下面就是“Java中try catch处理异常示例”的详细讲解。 1. 什么是异常? 在Java程序运行过程中,可能会遇到一些非正常的情况,例如读取文件时文件不存在、网络连接异常等等,这些非正常的情况被称为“异常”。 Java中的异常是Throwable类及其子类的实例,可分为检查型异常和非检查型异常(也叫运行时异常)。其中,检查型异常必须显式处理,而非检查…

    Java 2023年5月28日
    00
  • Java文件上传与文件下载实现方法详解

    下面将详细讲解Java文件上传与文件下载实现方法详解,分为以下几个方面: 文件上传 文件上传通常需要以下几个步骤: 创建一个表单,允许用户选择要上传的文件; 通过后端编写的处理程序处理上传的文件; 将文件保存到服务器的指定位置。 下面使用Spring Boot框架和Thymeleaf模板实现文件上传。 首先,在Spring Boot中,我们需要添加Multi…

    Java 2023年5月20日
    00
  • java实现简易的计算器界面

    下面就来详细讲解Java实现简易的计算器界面的完整攻略。 1. 界面设计 首先我们需要设计计算器的界面。常见的计算器界面有两种,一种是标准的计算器界面,另一种是科学计算器界面。我们以标准的计算器界面为例进行讲解。 1.1 界面元素 标准的计算器界面一般包含以下元素: 数字键:0~9十个数字键; 小数点键:用于输入小数; 运算符键:加、减、乘、除; 等于键:计…

    Java 2023年5月18日
    00
  • Spring Cache框架应用介绍

    针对Spring Cache框架应用介绍,我将分以下几个方面进行讲解,确保您能够全面了解并使用这一框架: Spring Cache框架介绍 Spring Cache框架是Spring官方提供的,用于缓存的框架。它可以将方法返回的结果缓存到内存、Redis、Ehcache等缓存服务器中,避免方法重复执行,保证系统性能和响应速度。同时,它还提供了对缓存的管理,如…

    Java 2023年5月19日
    00
  • 微信小程序静默登录的实现代码

    当用户第一次使用微信小程序时,通常需要通过微信授权登录才能使用小程序的部分或全部功能。但是在某些情况下,我们可能需要实现小程序的静默登录,即在用户未授权的情况下实现自动登录。 以下是实现微信小程序静默登录的攻略及代码示例: 步骤一:获取用户openid 可以通过小程序提供的wx.login()方法获取用户的临时登录凭证code,然后将code发送至后端服务器…

    Java 2023年5月23日
    00
  • SpringBoot项目jar和war打包部署方式详解

    下面是关于“SpringBoot项目jar和war打包部署方式详解”的完整攻略: 1. Jar包部署方式 1.1 打包Jar包 在pom.xml文件中添加以下配置,可以打包成可执行jar文件: <build> <plugins> <!–打包为可执行jar文件–> <plugin> <groupId&g…

    Java 2023年5月26日
    00
  • java 实现局域网文件传输的实例

    下面是 “Java实现局域网文件传输的实例” 的完整攻略: 1. 确定文件传输协议 Java实现局域网文件传输,首先需要确定文件传输所采用的协议。常用的有TCP、UDP和HTTP等协议。 在这里我们采用TCP协议,因为TCP协议是可靠的传输协议,可以确保数据传输的正确性和完整性。 2. 客户端编写 客户端需要完成以下步骤:1. 创建Socket对象,指定服务…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部