关键字static
1、static是静态的,可以用来修饰属性,方法,代码块(或初始化块)、*内部类。
static修饰属性。
1)、static修饰属性(也称为类变量):由类创建的所有对象都共用这个属性,当其中一个对象对此属性进行修改,会导致其它对象的调用有变化。
2)、类变量随着类的加载而加载,不依赖于对象,并且是独一份。类变量的加载时早于对象。
3)、可以通过类来调用静态变量,也可以通过对象来调用静态变量。
内存中的形式:
2、static修饰方法
1)随着类的加载而加载,在内存中是独一份
2)可以通过“类.类方法”的方式调用,也可以用对象调用。
3)内部可以调用静态的属性或者静态的方法,但是不能调用非静态的属性和方法。反之,非静态的方法可以调用静态的属性和方法。
注意:静态的结构(static的属性、方法、代码块、内部类)的生命周期要早于非静态的结构,同时被回收也要晚于非静态结构。