static(静态)关键字
用于修饰成员(成员变量和成员函数)
特点:随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用 类名.静态成员
修饰共享数据,对象中为特有数据
注意:静态方法只能访问静态成员
静态方法中不可以写this、super关键字
主函数是静态的
成员变量和静态变量的区别:
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、别名不同
成员变量也称为实例变量。
静态变量称为类变量。
4、数据存储位置不同
成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
静态使用:
1、静态变量
对象中成员变量的值都相同
2、静态函数
该函数访问静态成员变量
静态代码块
随着类的加载而执行,而且只执行一次。
*作用:用于给类进行初始化。
用于修饰成员(成员变量和成员函数)
特点:随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用 类名.静态成员
修饰共享数据,对象中为特有数据
注意:静态方法只能访问静态成员
静态方法中不可以写this、super关键字
主函数是静态的
成员变量和静态变量的区别:
1、两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的被回收而释放。
静态变量随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用。
静态变量可以被对象调用,还可以被类名调用。
3、别名不同
成员变量也称为实例变量。
静态变量称为类变量。
4、数据存储位置不同
成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
静态使用:
1、静态变量
对象中成员变量的值都相同
2、静态函数
该函数访问静态成员变量
静态代码块
随着类的加载而执行,而且只执行一次。
*作用:用于给类进行初始化。