原文:关于类加载的时候,static代码块中可以赋值但不能引用的问题

关于类加载的时候,static代码块中可以赋值但不能引用的问题 类加载过程: 先看代码: 编译不通过,报错信息说非法的前向引用,因为对于a的声明在下面的静态变量中,属于语法错误,jvm编译不通过。 如果去掉输出这句,变成下面的代码: 输出结果为: 问题:为什么a还没有被声明就可以被赋值,为什么不报错 答: .类加载的时候在连接阶段的准备中,做了下面的事情: 为类的静态变量分配内存并设置默认初始值, ...

2020-09-25 11:16 0 825 推荐指数:

查看详情

Static类加载顺序

版本:Java8 直接上代码: 结果: 继续上代码: 结果: 继续上代码: 结果: 继续上代码: 结果: 继续上代码 ...

Tue Sep 03 17:17:00 CST 2019 0 433
java静态代码 类加载顺序问题

class B extends Object { static {System.out.println("Load B");} public B(){System.out.println("Create B");} } class A extends B { static ...

Mon Apr 11 20:52:00 CST 2016 0 2197
java静态代码的用法 static用法详解 类的加载顺序

java静态代码的用法 static用法详解 (一)java 静态代码 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种 ...

Tue Oct 09 23:52:00 CST 2012 0 7379
Javastatic静态代码

一.与静态方法的比较     一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法 ...

Wed Apr 17 05:30:00 CST 2013 6 4214
Static(静态代码)

Static 仅在该类被加载时执行一次 class UseStatic {    static int a = 3;    static int b;    static void meth(int x ...

Thu Dec 29 00:13:00 CST 2011 1 10765
java构造代码static代码和局部代码的区别

// 执行结果为:static,55,20,show,55,20 // 分析: // 1、先执行StaticCode这个类,所以static // 2、创建p1对象,执行构造代码,55 // 3、执行构造函数初始化,20 // 4、执行p1.show(),show:20 ...

Tue Dec 05 19:53:00 CST 2017 0 7214
Java static 静态代码代码

简述 static{} 静态代码加载类之前执行 {} 代码,每次new的时候都会被执行 示例 类: 调用函数: 输出结果: This is a static block 这是一个代码 这是一个代码 这是一个代码 这是一个代码 创建 ...

Wed Sep 12 04:16:00 CST 2018 0 1358
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM