参考:static关键字解析.
什么是static
static:中文意思为静态的
在Java中static用来修饰成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象的,可以不靠创建对象来调用。
static关键字的作用之一:方便再没有创建对象的情况下来进行调用(方法/变量)
static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。
静态方法
类中被static修饰的方法叫做静态方法,在静态方法中只能调用静态成员变量
原因:静态方法可以直接通过类名调用,这种调用方式时候是没有对象的,类的非静态成员变量如果没有经过实例化就不存在,也就无法完成调用,所以不能放在静态方法中。非静态方法同理,也是不可以被静态方法调用的。
而对于非静态的成员变量和方法,它访问静态成员方法和变量是没有限制的。
静态变量
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有对象共享,在内存中只有一个副本,当且仅当类被加载时初始化,非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个副本互相不影响。
static的其他
static关键字不会改变类中成员的访问权限
切记:Java中的static是不允许用来修饰局部变量的。