1. 局部变量(local variable)
- 局部变量在方法、构造函数或代码块中声明
- 访问控制修饰符不能用于局部变量
- 局部变量修饰在栈的层面
- 局部变量没有默认值,因此局部变量在使用之前必须声明并且初始化
2. 实例变量(instance variable)
- 实例变量定义在类的内部,但是在方法、构造函数和代码块(block)的外部。
- 当堆分配了一块空间给一个对象,这块空间就会有一个slot用于存储实例变量
- 实例变量有默认值。
3. 类变量/静态(class/static)变量
- 类变量通过static关键字定义
- 静态变量存储在static memory中,一般将静态变量定义为final。
- 当声明一个类变量是public static final时,变量(常量)名应该全部大写。
- 当静态变量不是public和final时,命名规则和实例变量和局部变量命名规则相同(小驼峰)。