300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java静态成员静态代码块初始化顺序

java静态成员静态代码块初始化顺序

时间:2020-11-12 02:56:08

相关推荐

java静态成员静态代码块初始化顺序

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。