static称为静态变量、类变量【类能直接访问的变量】。eg:static String country;。
eg:String name;是实例变量、成员变量。
static 是修饰成员的;
被它修饰的成员被所有对象共享;
优先于对象存在,应为有了static才能让大家共享;随着类的加载出现;
对象和类名都可以调用,类名.静态成员;
对象中存储的是特有数据,static修饰的是共享数据。
成员变量和静态变量的区别?
1他们俩的生命周期不同。
成员变量随着对象的创建存在或释放
静态变量随着类的加载而存在,随着类的消失而消失【弊端:生命周期长,但是它的出现是解决问题】
2 调用方式不同。
成员变量只能被对象调用
静态变量可以被对象调用,还可以被类名调用
3 数据的存储位置不同。
成员变量数据存储在堆内存的对象中,也叫对象的特有数据
静态变量数据存储在方法区(共享数据区的静态区)中,也叫对象的共享数据。
java内存分5片:寄存器(CPU用)、本地方法区(调用系统底层内容)、方法区(方法的地方)、桟和堆
静态在使用中的细节: