System.out.println("t3: " + t3.t);
}
public static void main(String args[]) {
new Static();
}
}
class T1 {
static int t = 1;
T1(int b) {
t = b;
}
}
package com.meritit.test;
public class Static {
T1 t1 = new T1(2);
T1 t2 = new T1(3);
T1 t3 = new T1(4);
public Static() {
System.out.println("t1: " + t1.t);
System.out.println("t2: " + t2.t);
System.out.println("t3: " + t3.t);
}
public static void main(String args[]) {
new Static();
}
}
class T1 {
static int t = 1;
T1(int b) {
t = b;
}
}
运行结果:
t1: 4
t2: 4
t3: 4
该static变量只是接受了最后一次的初始化.实际这还是我们先前提到的多个实例共享一个静态的变量的问题。
总之,static就是给我们一个这样的忠告:static的东西在编译时,就已向内存要到了存取空间了。