静态代码块的初始化

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
span.s1 { font: 12.0px ".PingFang SC" }
span.s2 { font: 12.0px "Helvetica Neue" }
span.Apple-tab-span { white-space: pre }

——————————————————————————代码如下:

public class Test09 {

private static int a;

private int b;

public void f(){

System.out.println("哈哈哈哈哈哈哈");

}

// 静态代码块一

static{

Test09.a = 1;

System.out.println(a);

Test09 t = new Test09();

t.f();

t.b = 1000;

System.out.println(t.b);

}

// 静态代码块二

static {

Test09.a = 2;

System.out.println(a);

}

// 静态代码块三

static {

Test09.a = 3;

System.out.println(a);

}

public static void main(String[] args) {

System.out.println(“main方法:”+a);

——————————————————————————运行结果:

1

哈哈哈哈哈哈哈

1000

2

3

main方法:3

总结:静态块在首次创建对象或者访问类的字段时才会执行,并且只执行一次。执行顺序是代码块的先后顺序。

时间: 2024-08-29 00:55:42

静态代码块的初始化的相关文章

关于Java静态代码块、初始化块、构造函数的调用顺寻问题?

public class ClassA { public ClassA(){ System.out.println("A 构造..."); } { System.out.println("this is A...."); } static{ System.out.println("A static..."); } } public class ClassB extends ClassA{ public ClassB(){ System.out.p

Java类的静态成员、静态代码块、普通成员、普通代码块、构造方法初始化执行的顺序

今天阅读<Java编程思想(第4版中文版)>,刚复习到类中成员的初始化这一知识点.为了加深印象和给其他人一点参考,参考书中示例并加以修改得到以下代码: 文件名:HelloWorld.java 包名:main package main; class Bowl { Bowl(int marker){ System.out.println("Bowl("+marker+")"); } void f1(int marker){ System.out.printl

Java中初始化对象的顺序,静态代码块的用法以及Static的用法详解

(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,

java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序详解

一.描述 java中类的静态代码块.构造代码块.构造方法.静态成员的初始化顺序: 首先,在类加载时,为类中的静态成员变量分配内存空间,并为其赋予默认值(整数型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为null): 其次,执行静态成员变量的显式初始化操作.静态成员的初始化方法有两种,其一为在声明的时候直接初始化,其二为使用静态代码块进行初始化, 这两种初始化方式会按照在类中的出现顺序来执行,而且只在类加载的时候执行一次. 再次,如果创建了类的对象,便会在堆中为类的

java中静态代码块的用法—— static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的. 静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就

[转载] java中静态代码块的用法 static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的. 静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就

静态方法和静态代码块

注意事项: 1.静态代码块不能写this或者对象,因为静态代码块在对象初始化之前执行: 2.静态代码块在构造代码块之前执行: 3.静态代码块用于初始化类,只执行一次: 4.静态方法只能访问静态成员: 执行顺序:静态代码块->构造代码块->构造方法 版权声明:本文为博主原创文章,未经博主允许不得转载.

java中静态代码块的用法 static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是

java中静态代码块的用法 static用法详解和static静态导入

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的. 静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就