Java 编程语言定义了如下类型的变量 :
- 实例变量 (非静态字段) 从技术上来说, 对象保存它们各自的状态在 "非静态字段", 也即, 没有使用
static
关键字定义的字段. 非静态字段也称为 实例变量 因为它们的值对每个 类 实例 (对每个对象, 换句话说); 一个自行车的currentSpeed
与另外一个自行车的currentSpeed
是独立的. - 类变量 (静态字段)类变量是使用
static
修饰符声明的变量;这告诉编译器仅有一份该变量存在, 无论该类被实例化多少个对象。为 某种类型的自行车定义gear数量的字段可以标记为static
因为所有实例有相同数. 代码static int numGears = 6;
将创建一个这样的静态字段. 此外, 可以添加关键字final
来表明转动装置个数永远不发生改变 . - 局部变量 与一个对象保存它的状态字段类似, 一个方法保存它的临时状态 局部变量. 声明一个局部变量的语法与声明一个字段 (例如,
int count = 0;
)相似. 这里并没有一个专用的关键字来指定一个变量作为局部变量 ; 完全由变量声明的位置来决定它是否是局部变量 — 是否是声明在方法的开始大括号和结束大括号之间. 因而, 局部变量只能在它声明的方法中可见; 不能在类的其它部分访问. - 参数 你已经看到参数的使用示例, 在
Bicycle
类和"Hello World!" 应用的main
方法. 回忆main
方法签名是public static void main(String[] args)
. 这里,args
变量是方法的参数 .必须记住的重要事情是 参数被划分为"变量"而不是"字段". 这适用于后续课程中学到的接收参数的构造函数 (例如构造函数和异常处理器)