成员变量
成员变量和成员方法是范围最大定义,简单而论成员变量包括实例变量和类变量,成员方法包括实例方法和类方法。
实例变量
实例变量定义在类中,但是在方法之外,前面没有static修饰,它在一个对象创建时创建,摧毁时摧毁。因此成员变量必须在创建对象实例后才可以使用。
类变量
类变量定义在类中,但是在方法之外,前面有static修饰,所以也叫静态变量。它在JVM加载类,执行类中静态区码块时创建。类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果。此外类变量无需创建对象即可使用。
方法
(1)实例方法可以直接访问实例变量,调用实例方法;
(2) 实例方法可以直接访问类变量,调用类方法。但不推荐这么做,原因是不清晰,容易把类变量误认为是实例变量,把类方法误认为是实例方法;
(3)类方法可以直接调用类变量和类方法;
(4)类方法不能直接调用实例变量和实例方法;
(5)类方法里面不能使用“this”关键字,因为没有实例存在,“this”不知道引用哪个实例。