最近写一个配置类打算配置文件的信息 用一个配置类的静态成员保存,所以在静态代码块里读取配置文件。考虑类 加载   后  类静态成员变量与类静态代码块的执行顺序问题。 如果静态代码块先实行  而类的 静态成员变量未执行。那 在静态成员变量初始化之前 就向静态成员变量赋值是不是会出 问题。

经测试 非实例对象 执行的顺序 是   类加载  首先初始化 类静态成员变量 类静态代码块 ,静态方法是调用的时候执行。

package com.yjm.ldapdao;

import java.io.IOException;
import java.util.Properties;

import org.apache.log4j.Logger;

public class LdapConf {

public LdapConf() {
 }

public static Logger logger= Logger.getLogger(LdapConf.class);
 public static String host="test";
 public static String port;
 public static String username;
 public static String password;
 public static Properties properties;
 static {
  properties = new Properties();
  try {
   properties.load(LdapConf.class
     .getResourceAsStream("info.properties"));
   host=properties.getProperty("host");
   System.out.println(host);
  } catch (IOException e) {
   e.printStackTrace();
  }

}
 
 public static void test(){
  host="sdfg";
  System.out.println(host);
 }
 public static void main(String[] args) {
  System.out.println(host);
  
  
 }
}

结果:

172.16.0.171
172.16.0.171

转载于:https://blog.51cto.com/yjm199/1550418

java静态成员静态代码块初始化顺序相关推荐

  1. 【Java基础】Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

    初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 3.其次,初始 ...

  2. day9 java的静态代码块和代码执行顺序

    静态代码块 代码执行顺序 对于静态,不管是变量还是代码块.都是自上而下的.

  3. java中静态代码块的用法 static用法详解(转)

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

  4. java中静态代码块的用法 static用法详解

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

  5. 【java】静态代码块

    静态代码块 格式: static { 静态代码块中的执行语句 } 特点: 随着类的加载而执行,只执行一次,用于给类进行初始化,并优先于主函数执行 考虑如下java语句 class StaticCode ...

  6. Java 中静态代码块 static的作用及用法

    java静态代码块的作用: Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用.一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需 ...

  7. Java中静态代码块

    静态代码块的特点:随着类的加载而执行,而且只执行一次.静态代码块的执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员. 静态 ...

  8. java中静态代码块详解

    参考博客:https://blog.csdn.net/qq_36792191/article/details/103988565 1.静态代码块基本知识 **(1)静态代码块:**执行优先级高于非静态 ...

  9. Java static 静态代码块、代码块

    简述 static{} 静态代码块,加载类之前执行 {} 代码块,每次new的时候都会被执行 示例 类: public class Student {int age;String name;boole ...

  10. 【Java】静态代码块和非静态代码块什么时候执行?

    静态代码块和非静态代码块什么时候执行? 静态代码块随着类的加载而加载,非静态代码块随着对象的加载而加载 所以静态代码块再调用类的时候执行.非静态代码块创建对象时或者通过反射获取其类信息的时候执行

最新文章

  1. 判断一个偶数(大于4)是不是两个素数之和
  2. 解决WINDOWS 7中显示摄像头的简易方法
  3. 职场白骨精必看的五个寓言
  4. 重构之以委托取代继承
  5. char *s 与 char s[ ]的区别
  6. 深度学习与计算机视觉教程(2) | 图像分类与机器学习基础(CV通关指南·完结)
  7. Android开发网上的一些重要知识点[经验分享]
  8. ecu故障现象_案例-报ECU系统软件重置故障处理方案
  9. 计算机操作上机考试题目,计算机系统操作工上机操作考试题.pdf
  10. 4G工业路由器防静电保护
  11. python爬虫之创建表格
  12. 初中级程序员进阶高级程序员,必须要了解的设计模式(45种设计模式)
  13. 网址二维码:如何制作网页链接二维码?
  14. 从事电商Java后端一年的思考与总结
  15. 如何隐藏控制台程序的窗口
  16. 阿里员工离职换来一条血泪教训:以为当小白兔很安全,是你对职场最大的误解
  17. Visual Studio 2019 C语言程序(VS2019 C语言)
  18. 均值滤波器类型_图像处理基础(3):均值滤波器及其变种
  19. python数据科学实践 常象宇_python数据科学
  20. GIS数据下载,全国省市县乡行政区划分

热门文章

  1. textbox 下拉模糊查询ajax,Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中...
  2. 虚拟服务器怎么安装网站,虚拟主机如何安装网站个人博客(WordPress)
  3. unsatisfied condition: __STDC_VERSION__ = 201112L
  4. 编译OpenJDK12:可以用VS2010到VS2017
  5. 股东其实对公司情况一无所知,唯一办法是追责
  6. 根据眼睛焦点分级绘制3D效果的设想
  7. deepstream-app源码没有公开,预计3.0可能公开
  8. 上海项目危机经历与感想
  9. linux命令行关机 密码,[ Linux 基本命令 001 ] 登陆,登出,重启,关机
  10. ubuntu修改登陆用户名称_MySQL对于相同名称用户但host不同的登陆选择