java中 static是一个特殊的关键字,可以修饰方法或成员变量等。
static修饰的成员表明它属于这个类,而不属于该类的单个实例。
实例什么意思,大家都知道java中有两大重要概念 : 类和对象,对象就是类的实例,类通过构造器创建对象,构造器是通过new关键字调用的,所以大家可以简单理解实例就是这个类的对象。
static的真正作用就是用于区分成员变量、方法、内部类、初始化块这四种成员到底是属于类本身的还是属于实例(对象)。
有static修饰的就属于类本身,既可以通过类调用,也可以通过实例(对象)来调用。
没有static修饰的就属于该类的实例(对象),只可以通过实例来调用。
static修饰的成员变量叫类变量,什么情况下使用类变量,当描述某个类或某个对象的变量对这个类的所有实例(对象)完全相同,就说明这个变量是类相关的,比如人类的眼睛数量是2,所有人的眼睛数量都是2,这种类相关的信息就应该定义成类变量,用static修饰。