class StaticCode { static String country; static { country="China"; System.out.println("StaticCode is loading !!"); } } public class TestStaticCode { static { System.out.println("TestStaticCode is loading!!"); } public static void main(String[] args) { System.out.println("begin main method !!"); new StaticCode(); new StaticCode(); } }
输出结果为
TestStaticCode is loading!!
begin main method!!
StaticCode is loading!!
==================================================================================
程序要进入main方法 首先要加载TestStaticCode这个类
从而要执行定义在这个类的静态代码段
输出 TestStaticCode is loading!!
当程序运行到 第一次出现StaticCode时 就会加载StaticCode这个类从而执行这个类的静态代码段
由于静态代码段只在类第一次加载时才执行 也就是第一个 new StaticCode(); 时才执行
后面不论你出现了多少个StaticCode都不会再次执行
而且静态代码段
不依赖于类的实例化 只要你的程序执行过程中第一次碰到了StaticCode就会马上执行静态代码
不信你把两个new语句去掉 换成
StaticCode s = null;
声明一个StaticCode 的空引用 程序也会执行静态代码
相关推荐
静态代码块通过`static`关键字来定义,在类加载时执行,且只执行一次。这与实例构造器或普通代码块不同,后者在每次创建对象时都会执行。 #### 二、静态代码块的基本用法 静态代码块的主要应用场景包括但不限于...
类`StaticBlock`的执行顺序展示了静态代码块和构造块的执行次序:静态代码块先执行,然后是非静态代码块,最后是构造方法。每次创建新对象时,这个顺序都会重复。 5. **执行顺序:** - 类的加载:静态变量初始化...
在上面的实例代码中,静态代码块被定义在类的最顶层,且使用 static 关键字修饰。静态代码块中的代码在类加载时自动执行,输出结果为“父类的静态代码块在执行 a=10”。这说明静态代码块确实是在类加载时自动执行的...
Java 静态代码块与非静态代码块 Java 中的静态代码块和非静态代码块是两个重要的概念,它们在 Java 中的应用非常广泛。下面我们来详细介绍这两个概念。 静态代码块 静态代码块是 Java 中的一种特殊的代码块,它是...
在Java编程中,静态代码块(Static Block)和类加载器(Class Loader)是两个重要的概念,它们在软件开发中有着广泛的应用。本案例聚焦于如何利用静态代码块结合类加载器来高效地获取资源文件,尤其是属性配置文件。...
Java编程语言中,静态代码块、非静态代码块和构造函数是面向对象设计的重要组成部分,它们在类的初始化和对象创建过程中起到关键作用。本文将深入探讨这些概念,以及它们在实际开发中的应用。 首先,我们来理解静态...
在Java编程语言中,`static`关键字用于声明类级别的成员,包括静态变量和静态代码块。静态代码块,也就是`static block`,是Java中的一种特殊构造,它不包含在任何方法内,当类被加载时,静态代码块会被自动执行且仅...
其次,我们要了解**静态代码块**(Static Initializer Block)。静态代码块是在类加载时执行的一段代码,它不依赖于类的实例,而是与类本身相关联。静态代码块通常用来初始化类级别的变量,或者执行一些仅需执行一次的...
在上面的实例代码中,我们可以看到一个静态代码块 `static { ... }`,这个代码块位于 `User` 类的静态域中。根据 Java 语言规范,这个代码块将在 `User` 类加载时执行一次。 三、Java 代码块与静态代码块加载顺序 ...
### Static静态代码块知识点 #### 一、Static概念与特性 - **定义**:`static`是Java中的一个关键字,主要用于定义类成员变量或方法。当一个变量或方法被声明为`static`时,它就成为了该类的一个静态成员,而非...
`static`代码块,或称静态代码块,是在类初始化过程中执行的一段代码。不同于普通的代码块,静态代码块在类加载时由JVM自动执行,并且只执行一次。这意味着静态代码块常被用来初始化静态变量或执行类级别的操作。多...
在继承关系中,静态代码块的执行顺序是:父类静态代码块 -> 子类静态代码块 -> 父类非静态代码块 -> 父类构造方法 -> 子类非静态代码块 -> 子类构造方法。 静态代码块和静态方法的区别在于:静态代码块是自动执行的...
本文将深入探讨Java中的静态块与静态方法,解析它们的区别、联系以及执行顺序,帮助读者更全面地理解`static`关键字在Java中的运用。 ### 静态方法 静态方法是通过`static`关键字声明的,它属于类而不属于类的任何...
1. 静态代码块(Static Block):这些代码块在类加载时执行,用于初始化类级别的变量或执行一些仅需执行一次的设置操作。静态代码块与类相关联,而不是类的实例。 2. 普通代码块(Instance Initialization Block)...
在Java中,静态代码块的执行是static关键字的结果。 静态代码块的执行条件: 1. 第一次初始化对象:当我们第一次创建对象时,静态代码块将被执行。 2. 第一次调用静态方法:当我们第一次调用静态方法时,静态代码...
静态代码块是使用`static`关键字声明的代码块,它主要用于类的初始化,特别是对类级别的静态变量进行初始化。静态代码块在类加载时仅执行一次,且先于非静态成员的初始化。如果一个类中有多个静态代码块,它们会...
### static静态变量使用@Value注入方式 #### 一、引言 在Java开发中,特别是基于Spring框架的应用程序中,开发者经常会遇到需要为类中的成员变量注入外部配置值的情况。Spring框架提供了多种注入机制,其中`@Value...
Java静态代码块加载驱动代码实例 Java静态代码块是一种特殊的代码块,它可以在类加载时被执行,该代码块只能被加载一次,无论new多少个对象。静态代码块通常用来加载配置文件、初始化操作等。 在Java中,静态代码...
静态代码块由`static`关键字标识,它是在类被加载到Java虚拟机(JVM)时执行的,且只会执行一次。静态代码块通常用来初始化类级别的变量,因为它在任何对象实例化之前就已经运行。这样的设计使得程序员可以在不创建...