静态:
static
用法:是一个修鉓符,用于修饰成员(成员变量,成员方法)
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外
还可以直接被类名调用,类名.静态成员
特点:
1、随着类的加载而加载
也就是说,静态会随类消失而消失,生命周期最长
2、优先于的对象存在
类加载就存在
对象是后创建
3、被所有对象所共享
4、可以直接被类名所调用
区别:
存放位置:
1、
类变量随着类的加载而存在共享区中
实例变量随着对象的建立而存在于堆内存中
2、
生命周期:
一个随着类
一个随着对象
静态使用注意事项:
1、静态方法只能访问静态成员
非静态可以访问它们
2、静态方法中不可以定义this super关键字
因为静态优先于对象存在
利与弊:
利:节省空间(共享空间,没必要每个对象都有),可以被类名直接 调用
弊:生命周期过长,访问出现局限性(只能访问静态)
3、主函数是静态的。
特殊函数,作为程序的入口,可以被jvm调用
定义:
public
static:随类存在(被jvm调用)
固定格式 jvm识别
静态代码块:
static{}
随着类的加载而执行,只执行一次,并优先于主函数
用于给类时行初始化
|