public class Person2 {
private static Person2 singleton = new Person2();
static int name = 3;
public static void main(String[] args) {
Person2.get();
System.out.println(Person2.name);
//Person2 person = new Person2();
}
public static Person2 get() {
return singleton;
}
public Person2() {
name = 2222;
System.out.println("构造函数");
}
private static Person2 singleton = new Person2();
static int name = 3;
public static void main(String[] args) {
Person2.get();
System.out.println(Person2.name);
//Person2 person = new Person2();
}
public static Person2 get() {
return singleton;
}
public Person2() {
name = 2222;
System.out.println("构造函数");
}
}
一、
private static Person2 singleton = new Person2();
static int name = 3;
java静态变量初始化 先singleton =null ;name =0
然后给singleton 和name赋值
1、singleton 开始 调用Person2构造函数 name置为2222
2、name开始 name置为3
结果是:3
二、(注意变量顺序)
static int name = 3;
private static Person2 singleton = new Person2();
java静态变量初始化 先 name =0;singleton =null
然后给name和singleton 赋值
1、name开始 name置为3
2、singleton 开始 调用Person2构造函数 name置为2222
结果是:2222