1、static 的特点
1.随着类的加载而加载
2.优先于对象的存在
3.被所有的对象共用
4.可以直接被类名所调用
2、存放位置
1.类变量随着类的加载而加载,存放于静态区(也称为数据区)
2.实例变量随着对象的建立而存在于堆内存中
3、生命周期
1.类变量生命周期最长,随着类的消失而消失
2.实例变量生命周期比类变量短,随着对象的消失而消失
4、注意事项
1.静态的方法只能访问静态的成员
2.非静态的方法既能访问静态的成员,也能访问非静态成员
3.静态方法中,不可以定义this super关键字
(因为静态方法优先于对象的存在,所以不能出现this)
4.局部变量不能被static修饰
5、什么时候使用static
static所修饰的内容是成员(成员变量,成员方法)
1.什么时候用静态成员变量
当属于同一个类的所有对象所共享数据时,将这个共享的数据成员用static修饰
2.什么时候用静态成员方法
当功能内部没有访问到非静态的成员时(对象特有的数据),该功能可以用static修饰