static关键字
static关键字
- 用来修饰共有的结构(属性/方法/代码块/内部类)
- 实现共有结构的统一控制
- 类中的常量也经常声明为static
修饰属性
- 称为静态变量(静态属性或类变量)
- 不能修饰局部变量
- 属性按是否被static修饰分为静态属性和非静态属性(实例变量)
- 建立类的多个对象之后,每一个对象都独立的拥有一套类中的实例变量
- 建立类的多个对象之后,多个对象共享同一个静态变量,实现一改全改
- 实例变量随着对象的建立而加载.
- 类变量随着类的加载而加载
- 类变量的加载早于对象的建立
- 能够经过"类.静态变量"的方式进行调用(如System.out,Math.PI)
- 类只加载一次,因此静态变量也只加载一次
- 静态变量存在<font size=3 color=red>方法区</font>的静态域中.
- 静态变量能够直接经过"类.静态变量"方法调用,不须要建立对象
修饰方法
- 随着类的加载而加载,能够经过"类.静态方法"的方式进行调用.
- 由于生命周期,非静态方法中既能够调用非静态的结构,也能够调用静态的结构
- 静态方法中只能调用静态结构
- 静态的方法内不能使用this/super这两个须要基于当前对象的关键字(编译不经过)
- 静态结构在类中被调用时能够直接写结构名,省去了类名.
static选定标准
选定类变量工具
选定静态方法this
- 操做静态属性的方法一般也设为static的
- 工具类中的方法,通常也声明为static的(如Math/Arrays/Collections)
欢迎关注本站公众号,获取更多信息