static(静态)关键字

class Person
{
    String name;    //成员变量,实例变量
    static String country = "CN";    // 静态变量,类变量
}

static关键字

用于修饰成员(成员变量和成员函数),既是关键字也是修饰符

被修饰后的成员具备一下特点:

1.随着类的加载而加载
2.优先于对象存在
3.被所有对象共享
4.可以直接被类名调用
5.修饰的数据是共享数据,对象中的存储的是特有数据

成员变量和静态变量的区别

1.两个变量的生命周期不同
    成员变量随着对象的创建而存在,随着对象的被回收而释放
    静态变量随着类的加载而存在,随着类的消失而消失

2.调用方式不同
    成员变量只能被对象调用
    静态变量可以被对象调用,还可以被类名调用,(建议静态变量用类名调用,一看就知道这是个静态变量)

3.别名不同
    成员变量称为实例变量
    静态变量称为类变量

4.数据存储位置不同
    成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据
    静态变量数据存储在方法区(也叫静态区),所以也叫对象的共享数据

使用注意

1.静态方法只能访问静态成员
2.静态方法中不可以写this。super关键字
3.主函数是静态的
原文地址:https://www.cnblogs.com/lei--lei/p/9495498.html