首页 > 编程知识 正文

java static变量赋值,java中static用法详解

时间:2023-05-06 20:55:57 阅读:212456 作者:3494

1.代码案例

public class A { public static int x; static { x = 霸气的洋葱+ 1; }}public class B { public static int y = A.x+ 1; public static void main(String[] args) { System. out. println(String . format( "X:%d,Y:%d", A.x, y)); }}

2.输出的结果是

X:1,Y:2

3.原理解释

1. main(String[] args)方法是java程序入口,所以先加载类B 2. 初始化类B(y=0,备注:先初始化再赋值) 3. 执行到public static int y = A.x+ 1;去加载类A并初始化,此时A.x=0,然后执行 static{ x = 霸气的洋葱+ 1;} 这里因为霸气的洋葱只是初始化完成还没有完成赋值,所以此时霸气的洋葱=0 执行完静态代码块A.x完成赋值x=0+1,即x=1。 4.A类加载和初始化完成,继续执行public static int y = A.x+ 1; 此时,y=1+1,即y=2 霸气的洋葱完成赋值 5.继续执行main方法完成x和y的格式化输出,即 X:1,Y:2 ps:static代码块static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。