有些时候我们希望某些类在初始化的时候就执行,也就是在不创建对象的情况下执行,那我们就需要静态代码块;例如:
public class TestStatic { public static int a=0; Static{ a=10; } public static void main(String[] args){ TestStatic testStatic=null; System.out.println("静态代码开始执行"+a); } }
输出如下:
一.与静态方法的比较
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不 创建对象的情况下,其他程序来调用的时候,需要使用静态方法,静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口。两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的。
二.静态方法注意事项
使用类的静态方法时,注意:
a.在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前
不用创建任何对象。
b.静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生(this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用)。
静态变量是属于整个类的变量而不是属于某个对象的。注意不能把任何方法体内的变量声明为静态,例如: fun() { static int i=0;//非法。 }
相关推荐
Static代码块 `static`代码块,或称静态代码块,是在类初始化过程中执行的一段代码。不同于普通的代码块,静态代码块在类加载时由JVM自动执行,并且只执行一次。这意味着静态代码块常被用来初始化静态变量或执行类...
本文将深入探讨Java中的静态块与静态方法,解析它们的区别、联系以及执行顺序,帮助读者更全面地理解`static`关键字在Java中的运用。 ### 静态方法 静态方法是通过`static`关键字声明的,它属于类而不属于类的任何...
Java 代码块与静态代码块加载顺序详解 Java 代码块与静态代码块加载顺序是 Java 语言中一个重要的概念,理解这两个概念对于编写高效、可靠的 Java 代码至关重要。本文将详细介绍 Java 代码块与静态代码块加载顺序的...
Java 静态代码块与非静态代码块详解 Java 中的代码块可以分为静态代码块和非静态代码块两种,两者的执行时机和作用域不同。本文将通过实例代码和详细解释,阐述 Java 静态代码块与非静态代码块的区别和应用场景。 ...
在Java编程中,静态代码块(Static Block)和类加载器(Class Loader)是两个重要的概念,它们在软件开发中有着广泛的应用。本案例聚焦于如何利用静态代码块结合类加载器来高效地获取资源文件,尤其是属性配置文件。...
Java静态代码块作用及执行顺序解析 Java静态代码块是Java语言中的一种特殊代码块,它们在类加载的时候执行,且只执行一次。它们通常用来初始化静态变量、设置静态变量的初始值等。静态代码块的作用域是整个类,而...
静态代码块的定义:不包含在任何方法体中,当类被加载时,自动执行静态代码块,而且只被执行一次,它的作用是:经常用于实现类属性的初始化。 在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来...
在 Java 中,static 块是指在类加载时执行的代码块。它们通常用于初始化静态变量、静态方法和静态块本身。Static 块的执行顺序是按照它们在类中的出现顺序执行的。需要注意的是,static 块在类加载时只执行一次,...
3. **静态代码块(Static Blocks)**: - 静态代码块是一组在类中定义的静态语句块,它在类加载时执行,且只会执行一次。 - 静态代码块可以用来初始化静态变量,执行一些类级别的初始化操作。 - 静态代码块按照...
### Java中的Static属性详解 #### 一、引言 在Java编程语言中,`static`关键字扮演着重要的角色。它允许我们创建与类关联而非特定实例关联的数据成员和方法。本文将详细介绍`static`属性的基本概念、静态成员变量...
### 静态代码块详解 #### 一、静态代码块概述 静态代码块是Java语言中的一个重要概念,主要用于初始化类级别的数据成员或执行一些仅需执行一次的操作。静态代码块通过`static`关键字来定义,在类加载时执行,且只...
Java中的`static`关键字是用来声明类级别的成员,包括变量、方法和代码块。它与对象无关,而是直接关联到类本身。以下是对`static`关键字的详细解释: 1. **静态变量(Static Variables)** - 静态变量是属于类的...
类`StaticBlock`的执行顺序展示了静态代码块和构造块的执行次序:静态代码块先执行,然后是非静态代码块,最后是构造方法。每次创建新对象时,这个顺序都会重复。 5. **执行顺序:** - 类的加载:静态变量初始化...
Java中的`static`关键字是一个非常重要的关键字,它用于声明类级别的成员,包括变量、方法和代码块。`static`关键字的使用有以下四个主要方面: 1. **类属性/类变量**: 类属性(也称为静态变量)是属于类本身的,...
其次,我们要了解**静态代码块**(Static Initializer Block)。静态代码块是在类加载时执行的一段代码,它不依赖于类的实例,而是与类本身相关联。静态代码块通常用来初始化类级别的变量,或者执行一些仅需执行一次的...
3. **静态代码块(Static Code Blocks)**: - 静态代码块是一段在类加载时执行的静态语句序列。它们可以存在于类中任何位置,按出现顺序执行,且只执行一次。 - 静态代码块常用于初始化静态变量或执行一次性设置...
本文将详细介绍Java中static关键字的用法,包括静态变量、静态方法和静态代码块等几个方面。 静态方法 静态方法是指在一个类中定义的方法,并且使用static关键字修饰的方法。这种方法可以在不创建类的实例的情况下...
Java代码块与代码加载顺序原理详解 Java代码块是Java语言中的一种基本结构单元,用于组织代码,控制变量的生命周期和作用域。本文将详细介绍Java代码块的类型、特点、使用方法和加载顺序原理。 一、代码块的类型 ...
Java编程语言中有三种类型的代码块,它们分别是普通代码块、构造代码块和静态代码块,每种都有其特定的用途和执行顺序。 1. **普通代码块**: 普通代码块(也称为局部代码块)是在方法或者类的成员变量声明之间...