遇到一个静态代码块对静态变量赋值,居然无效。就像下面的代码,看到输出的还是默认值,内心是崩溃的。

public class StaticLoad{static {i=666;}static int i=1;
//  static {
//      i=666;
//  }public static void main(String[] args){System.out.println(StaticLoad.i);}
}

debugger下发现赋值明明成功了,到了后面又进入定义变量赋值的步骤把值给覆盖了。

这个和加载顺序有关,把赋值代码块移动到变量后面,果然可以了。

静态代码块一定要在使用的静态变量的后面,否则静态变量初始化的时候会覆盖掉之前的赋值。

静态代码块无法对静态变量赋值的原因相关推荐

  1. java中代码块之静态代码块和非静态代码块

    一.代码块: 语法:使用{}包裹的,可以在{}中写代码. 修饰符:static 或者不修饰. static修饰的为静态代码代码块. 格式: //静态代码块,随着类的加载児执行static{System ...

  2. 静态代码块、非静态代码块、构造函数三者执行顺序

    主要探讨一下关于静态代码块,非静态代码块,构造函数的执行顺序. 如有错误,欢迎指出. 首先: 静态成员变量和静态代码块的优先级是一样的,先定义的先执行. 在创建一个对象的时候会执行非静态代码块和构造函 ...

  3. 静态代码块和非静态代码块的区别

    摘自原文 小结: 1.静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块. 顺序: 静态代码块-->非静态代码块-->类构造方法. ...

  4. 静态代码块、非静态代码块、构造函数执行顺序

    静态代码块.非静态代码块.构造函数执行顺序 /*** 类的实例化顺序,静态代码块.非静态代码块.构造函数.* @author MING*/ class Person {static String na ...

  5. Java 静态代码块和非静态代码块

    Java中的静态代码块是在虚拟机加载类的时候,就执行的,而且只执行一次.如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次. 非静态代码块是在类n ...

  6. shaderTextView 闪动文字,static{}(静态代码块)与{}(非静态代码块)的异同点

    目录 shaderTextView  闪动文字 static{}(静态代码块)与{}(非静态代码块)的异同点 shaderTextView  闪动文字 package com.example.zhan ...

  7. java 代码块:静态代码块和非静态代码块

    main方法是程序的入口,加入没有main方法程序无法启动,但是main方法不是第一个执行的. 我认为:在这个类加载时,编译器会找到main方法,从这里开始运行,但是当你把这个类加载的时候,静态代码块 ...

  8. java静态代码块与非静态代码块比较

    得出结论1:非静态代码块不会在调用方法与成员时执行. 结论2:非静态代码块在创建实例时执行 结论3:非静态代码块每次创建实例时执行,而静态代码块只执行一次 结论4:静态代码块优先非静态代码块优先构造函 ...

  9. 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序

    父类 public class Father {static{System.out.println("父类静态代码块");}{System.out.println("父类 ...

  10. java静态代码块和非静态代码块和构造函数执行顺序

    一.同类中静态代码块,非静态代码块,构造方法的执行顺序 1. 执行顺序:静态代码块-->非静态代码块-->构造方法. 程序在执行时,首先执行静态代码块,且只执行一次.接下来再创建对象时(n ...

最新文章

  1. 使用KNN进行缺失值填补详解及实践
  2. cmake编译安装完成后 执行cmake --version报错 bash: /usr/bin/cmake: 没有那个文件或目录
  3. oracle 更改ip
  4. 【WPF】MeshGeometry3D中的Normals和TextureCoordinates属性
  5. 中国钢筋加工设备运营现状与未来前景规划报告2022-2028年版
  6. Python档案袋(列表、元组、字典、集合 )
  7. PAT 1052. 卖个萌 (20)
  8. aws eks_在生产中配置和使用AWS EKS
  9. 计算机专业408题目结构,2019考研408计算机组成原理知识:计算机系统层次结构
  10. 亚马逊与Visa就交易费达成协议 重新接受Visa支付
  11. Oracle数据库中dml提交,奇怪,ORACLE的触发器的DML操作,没有COMMIT,居然也能真正的提交掉???...
  12. 优化理论02----凸函数、共轭函数、拟凸函数、对数凹/对数凸函数、关于广义不等关系的凸性
  13. [POI2001] 和平委员会 Peaceful Commission——2-sat(dfs构造字典序最小解)
  14. 外螺纹对照表_紧固件螺纹直径与螺距对照表
  15. 织梦网站建设广告网络公司网站模板 电脑+手机 整站源码
  16. AI车牌识别涉及哪些技术?它是如何改变行业的?
  17. web渗透测试----10、信息泄露
  18. GMAP.NET应用及离线地图加载
  19. 1046 Shortest Distance (20分)测试点分析
  20. 自定义php模板引擎

热门文章

  1. 通用知识图谱的构建及在QQ浏览器的应用实践
  2. YouTube推荐系统算法梳理
  3. 【中台实践】滴滴大数据研发中台的最佳实践.pdf(附下载链接)
  4. 在html页面中怎么打印区域,javascript打印web页面中指定区域的方法
  5. qt lineedit获取内容_Qt开发中的几个关键知识点,收藏以备参考
  6. linux共享文件夹开机自启,ubuntu16.04.6和 18.04添加开机启动脚本,重启后自动挂载vmware的共享文件夹...
  7. 初学Go语言的学生管理系统
  8. 吴恩达|机器学习作业2.1正则化的Logistic回归
  9. 吴恩达|机器学习作业2.0Logistic 回归
  10. matlab练习程序(共生矩阵)