static:静态的
可以修饰:属性,方法,代码块,内部类
使用static修饰属性:静态变量(类变量)
属性按是否使用static修饰,又分为:静态属性和非静态属性
实例变量:一个类中的多个对象,每个对象都独立的拥有一套类中的非静态属性
静态变量:一个类的多个变量,共享同一静态变量
当通过某一对象修改静态变量时,其他对象调用此静态变量时,是修改过的
static修改属性的一些其他说明:
①静态变量随着类的加载而加载(可以用"类.静态变量"的方式调用)
②静态变量的加载早于对象的创建
③存在于方法区的静态域中
代码举例:
public class StaicTest {
public static void main(String[] args) {
Chinese c1 = new Chinese();
c1.nation = "CHN";
Chinese c2 = new Chinese();
c2.nation = "China";
System.out.println(Chinese.nation);
}
}
class Chinese{
static String nation;
}
输出结果:
China
静态方法:
①随着类的加载而加载
②静态方法中只能调用静态方法或静态属性
(因为在调用非静态的属性或方法时,前面其实默认是省略了this./super.)
注意点:静态方法中不能使用this/super
因为静态方法时类调用的.
③关于静态属性和静态方法的使用,可以从生命周期的角度去理解