关于静态变量,静态代码块,非静态变量,构造方法中变量实例化顺序

简介:

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 //静态的有个顺序,从上到下执行.
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4086253.html,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 Java 编译器
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
44 0
|
13天前
|
存储
成员变量和类变量的区别:
成员变量和类变量的区别:
|
11月前
|
Java
Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)
Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)
107 0
|
12月前
|
存储
局部变量和成员变量的4个区别
定义位置不同、内存中的位置不同、周期不同、初始化不同。
100 0
|
Java
16 类变量(静态变量)与类方法(静态方法)
1 .静态变量 静态变量指在类中被static修饰的变量
76 0
|
Java
构造方法,静态代码块,成员变量的加载顺序
构造方法,静态代码块,成员变量的加载顺序
121 0
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
使用final关键字修饰一个变量时,是指引用变量不能变,但是引用变量所指向的对象中的内容还是可以改变的。
363 0
使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
|
Java 编译器 Spring
静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑(上)
静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑(上)
|
架构师 Java Spring
静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑(下)
静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑(下)
静态代码块、静态变量,构造代码块、实例变量的执行顺序和继承逻辑(下)
静态变量和实例变量的区别
静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。
1240 0