static声明初始化块的一下注意事项

通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。

时间: 2024-08-22 11:33:06

static声明初始化块的一下注意事项的相关文章

static静态初始化块

Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对

Java 中的 static 使用之静态初始化块

Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 而普通初始化块只要有创建一个实例(即new一次),就执行一次. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行

java中的静态初始化块

Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对

java静态无名函数(静态初始化块)与java的运行流程

public class Test { public Test() { System.out.println(" 构造函数"); } @1:静态初始化块static { System.out.println("static{}"); } @2:初始化块{ System.out.println("{}"); } public static void main(String[] args) { System.out.println("mai

初始化块、静态初始化块和构造方法

初始化块: 在类的声明中,可以包含多个初始化块,当创建类的实例时,会依次执行这些初始化块 静态初始化块: 用static修饰初始化块,称为静态初始化块: 构造方法: 它是一个与类同名且没有返回值类型的方法: 三者之间的不同: 初始化块和构造方法都是在创建类的实例时执行,静态初始化块只在类加载的时候执行,且只会执行一次,且只能初始化静态变量 优先级: 静态初始化块>初始化块>构造方法 1 package com.imooc.tes002; 2 3 public class HelloWorld

2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块

①访问权限②static③静态方法④实例初始化块⑤静态初始化块一.访问权限 默认是同包protected是有关系的,即同包和不同包的子类private只有本类,public全部   本类   同包 不同包       子类 非子类 子类 非子类 private √         默认(同包) √ √ √     protected √ √ √ √   public √ √ √ √ √ 二.static静态成员变量,类级别,全类共享一个Person.country = "中国":一般用

非static和static初始化块

1 关于属性赋值的操作:(1)默认的初始化(2)显式的初始化或代码块的初始化(此处两个结构按顺序执行)(3)构造器中 (4)通过方法对对象的相应属性进行修改 2 初始化块(代码块):如果有修饰,只能用static 3 非静态代码块: (1)可以对类的属性进行初始化操作(2)里面可以有输出语句 (3)一个类中可以有多个非静态代码块,按顺序执行(4)每创建一个类的对象,非静态代码块就创建一次(5)它执行早于构造方法 4 静态代码块(1)里面可以有输出语句 (2)随着类加载,只能加载一次 (3)按顺序

static使用之静态初始化块

public static HelloWorld { string name; { name = "爱慕课"; } } 需要特别注意:静态初始化块只能在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 程序运行时,静态初始化块首先被执行,然后执行普通初始化块,最后执行构造方法.

static之静态初始化块

static之静态初始化块 所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:    父类的静态初始化块    子类的静态初始化块    父类的初始化块    父类的构造函数    子类的初始化块    子类的构造函数      也就是说程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块. 比如下面的代码: 运行结果: 需要特别注意:1)静态初