java基础_静态代码块

/*
 静态代码块
 格式:
 static{
 		静态代码块中执行语句
 }
 特点:随着类的加载而执行,并且只会执行一次,并且还优先于主函数
 作用:用于给类进行初始化
 */
class Per{
	static{
		System.out.println("我是静态代码块");
	}
	{
		System.out.println("我是构造代码块");
	}

}
public class A6_42 {
	public static void main(String[] args) {
		new Per();
		new Per();
	}
}

  构造代码块是每次new对象的时候执行

运行结

我是静态代码块
我是构造代码块
我是构造代码块

果:

时间: 2025-01-03 18:40:28

java基础_静态代码块的相关文章

Java基础6:代码块与代码加载顺序

Java基础6:代码块与代码加载顺序 代码块:用{}包围的代码 java中的代码块按其位置划分为四种: 局部代码块 位置:局部位置(方法内部) 作用:限定变量的生命周期,尽早释放,节约内存 调用:调用其所在的方法时执行 public class 局部代码块 {@Testpublic void test (){   B b = new B();   b.go();}}class B {   B(){}   public void go() {       //方法中的局部代码块,一般进行一次性地调

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

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

Java之static静态代码块

Java之static静态代码块 构造代码块 使用{}包裹的代码区域,这里的代码区域特指位于class{}下面的而不是存在于其他type method(){}这类函数下面的代码区域 public class HelloA { /** ... */ { System.out.println("I'm A construct code block"); } } 构造函数代码块 构造函数代码块指的是构造函数中所包含的代码,类似className(){}中的代码块 public class H

java中的静态代码块,构造代码块,构造函数,普通代码块

java中的静态代码块,构造代码块,构造函数,普通代码块 静态代码块: 格式: public class Test1{ static{ System.out.println("这是一个静态代码块");  } } 说明: 1.静态代码块在类加载时也就是项目启动时运行并且只运行一次相当于main函数,有多个静态代码块从上往下依次执行,他是一种主动运行的机制. 2.静态代码块不能存在于任何方法中 构造代码块 格式: public class Test2{ { System.out.print

java基础第五天_静态代码块、类的继承和接口

1.文字阐述静态代码块的作用. 静态代码块在类加载的时候执行,而且只执行一次. 2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么? 构造代码块调用顺序优先于构造方法,和方法的声明位置无关. 构造代码块作用:a.可以存放多个构造方法的共同代码,提升代码的重复性 b.对成员变量初始化 3.类加载时,是否一定会执行静态代码块?如何手动控制类加载? 类加载时默认执行静态代码块. 手动控制类加载使用Class.forName("classname"

IT十八掌作业_java基础第五天_静态代码块、类的继承和接口

1.文字阐述静态代码块的作用. A:静态代码块常用来执行类属性的初始化,且只被执行一次. 2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么? 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 和位置无关. 构造代码块在每次创建对象是都会执行. 3.类加载时,是否一定会执行静态代码块?如何手动控制类加载? 类加载时默认加载静态代码块,class.forName(String name) 或 class.forNa

Java中的静态代码块和构造代码块

最近一在回顾Java中的一些知识,这里跟大家一起学习一下静态代码块,和构造代码块. 首先,代码就是巴拉巴拉一些定义呀,赋值啊,运算的一些java代码,用两个大括号括起来,就变成了神奇的代码块 { a=3; } static{ b=4; } 就像上面那个样子. 括号加了static修饰就变成了静态代码块,大家记住哦,只要加了static这个东西只后,后面那个东东就是静态的,而且只能操作静态的东东. 比如静态方法,静态变量,静态指针,当然java里没有指针. 然后我用了一个小代码去理解这两个概念,上

java中的静态代码块、构造代码块、普通代码块和同步代码块总结

java中的4中代码块总结如下: * 加了static的是静态代码块,在类中写了一对{}是构造代码块,在方法中写了一对{}是普通代码块, * java中还有一种代码块是同步代码块,常用在多线程中, synchronized关键字, * 同步代码块格式是:synchronized(同步对象){} * 静态代码块 先于构造代码块 先于构造方法执行 * 静态代码块 先于普通代码块 先于构造方法执行 * 构造代码块和普通代码块按照程序逻辑顺序执行 package 面试题; class HelloA{ p

面向对象_静态代码块

特点:随着类的加载而执行,只执行一次,并优先于主函数作用:用于给类进行初始化用的 格式: static{   静态代码块中的执行语句 } 1 public class StaticCode1 { 2 static{ 3 System.out.println("b"); 4 } 5 public static void main(String[] args) { 6 new StaticCode(); 7 new StaticCode(); 8 System.out.println(&q