首页 > 代码库 > 关于静态变量,静态代码块,非静态变量,构造方法中变量实例化顺序
关于静态变量,静态代码块,非静态变量,构造方法中变量实例化顺序
LuceneUtils.java
1 import java.util.ArrayList; 2 import java.util.List; 3 4 @SuppressWarnings("unused") 5 public class LuceneUtils { 6 private String a = "string";//第四个个实例化,如果这个地方没有给a赋值那么不走这个语句(仅仅是声明). 7 private static Object o = null;//第一个实例化 8 private static int b = 1;//第二个实例化 9 private List<Object> list = new ArrayList<Object>();//第五个实例化10 static{//第三个实例化11 System.out.println("这里是静态代码块!");12 }13 public LuceneUtils(){////第六个实例化14 System.out.println("这里是构造方法!");15 }16 }17 //1.首先是静态代码块18 //先是构造方法还是先是19 //在执行构造方法之前要执行非静态的,并且是声明式赋值的.
Test.java
1 public class Test {2 public static void main(String[] args) {3 LuceneUtils luceneUtils = new LuceneUtils();4 System.out.println(luceneUtils);5 }6 }7 //new这个LuceneUtils类的对象的时候是加载到ClassLoader里面.8 //静态的有个顺序,从上到下执行.
关于静态变量,静态代码块,非静态变量,构造方法中变量实例化顺序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。