1、静态变量
分析对象中所具备的成员变量的值都相同时,而且这个成员不需要修饰,这时成员变量就可以被静态修饰
2、静态函数
该函数是否需要访问对象中的特有数据
二、static关键字的特点:用于修饰成员(属性和方法)
1、可以用类名直接调用,可以不用创建对象时就可以使用
2、可以使用对象的引用调用
3、被static修饰的成员可以被所有的该类的对象共享
三、static关键注意事项:
1、静态方法只能访问静态成员(非静态可以自由访问静态或非静态成员)
2、静态方法中不可以使用this和super关键字
3、主函数是静态的
四、成员变量和类变量(静态变量)的区别?
1、声明周期不同
成员变量随着对象的创建而创建,随着对象被回收而释放
静态变量随着类的加载而创建,随着类的消失而消失。
2、调用方式不同
成员变量只能被对象调用
静态变量可以被对象调用,也可以使用类调用(建议使用类调用)
3、别名不同
成员变量又叫实例变量
静态变量又叫类变量
4、数据存储位置不同
注意:方法也放在方法区成员变量位于堆内存中
静态变量存储在方法区(数据区或者共享区)的静态区
静态方法:静态方法可以使用类来调用
五、三种代码块以及实例
静态代码块:
特点:1、随着类的加载而执行
2、只执行一次
作用:用于给类初始化(有的类不用构造函数,而需要初始化)
构造代码块: 在类中的代码块
特点:1、在创建对象时执行,每创建一个对象,就执行一次
2、在创建对象时执行,在静态代码块后执行,且在构造函数前执行
作用:可以给所有的对象进行初始化
局部代码块: 在函数中的代码块
作用:限定函数中的局部变量的生命周期
六、主函数
public static void main(String args [])
主函数的特殊之处:
1、格式是固定的
2、被JVM所识别
public:因为权限必须是最大的
static:不需要对象的 直接用主函数所属的类名调用即可
void:没有返回值
main:默认的方法名
String args [] 主函数的参数列表,是一个数组类型的参数,而且元素都是字符串类型的
args:arguments的缩写,可变