1.final 修饰的变量 如果你初始化了,就不允许指向其他的变量了
构造方法里初始化这个变量,默认构造方法只调用一次,普通方法里初始化这个变量是不被允许的,因为普通方法会调用多次
public class test {
final int num;
test(){
num=4;//允许初始化
}
public static void main(String[] args) {
test t=new test();
t.num=3;//不允许初始化
System.out.println(t.num);
}
}
static 修饰的变量是属于class,优先于对象的创建存在
static final一起修饰一个变量 在构造方法里也不允许初始化,因为他是class级别的变量,不允许创建对象而重新赋值
synchronized和static synchronized的区别是后者是所有该对象的实例都只有一个线程进入该方法