static,静态的,可以用来修饰属性、方法、*代码块(或初始化块)、*内部类
static修饰属性(类变量):
1、由类创建的所有对象,都共用这一个属性;
2、当其中一个对象对此属性进行修改,由于其同指向相同的静态域,所以会导致其他对象的相应改变。类.类变量 VS 实例变量(非static修饰的属性,各个对象,各自拥有一套副本)类.实例变量;
3、变量是定义在类中的,类变量随着类的加载而加载,而普通的实例变量(属性)只有在创建对象的时候,才在内存中真正的生成。
3、类变量随着类的加载而加载,而且独一份
4、静态变量可以直接通过”类.类变量“的形式进行调用;
5、类变量的加载要早于对象。当类创建的时候,就已经加载类对象了。所以当有了对象以后,可以通过”对象.类变量“使用,但是”类.实例变量“则不可以。
6、类变量存在于静态域中。
String name;//实例变量(在不同的实例对象里,有不同的值)
int age;//实例变量
static String nation;//类变量(与不同的对象没有关系,放在静态域中,)