# 声明成员变量

> 原文： [https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html](https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html)

有几种变量：

*   类中的成员变量 - 这些变量称为 _ 字段 _。
*   方法或代码块中的变量 - 这些变量称为 _ 局部变量 _。
*   方法声明中的变量 - 这些变量称为 _ 参数 _。

`Bicycle`类使用以下代码行来定义其字段：

```
public int cadence;
public int gear;
public int speed;

```

字段声明按顺序由三个部分组成：

1.  零个或多个修饰符，例如`public`或`private`。
2.  该字段的类型。
3.  该字段的名称。

`Bicycle`的字段命名为`cadence`，`gear`和`speed`，并且都是整数数据类型（`int`）。 `public`关键字将这些字段标识为公共成员，可由任何可以访问该类的对象访问。

## 访问修饰符

使用的第一个（最左侧）修饰符允许您控制其他类可以访问成员字段的内容。目前，只考虑`public`和`private`。其他访问修饰符将在后面讨论。

*   `public`修饰符 - 可从所有类访问该字段。
*   `private`修饰符 - 该字段只能在其自己的类中访问。

本着封装的精神，将字段设为私有是很常见的。这意味着它们只能直接 _ 从 Bicycle 类访问 _。但是，我们仍然需要访问这些值。这可以通过添加为我们获取字段值的公共方法间接来完成 _：_

```
public class Bicycle {

    private int cadence;
    private int gear;
    private int speed;

    public Bicycle(int startCadence, int startSpeed, int startGear) {
        gear = startGear;
        cadence = startCadence;
        speed = startSpeed;
    }

    public int getCadence() {
        return cadence;
    }

    public void setCadence(int newValue) {
        cadence = newValue;
    }

    public int getGear() {
        return gear;
    }

    public void setGear(int newValue) {
        gear = newValue;
    }

    public int getSpeed() {
        return speed;
    }

    public void applyBrake(int decrement) {
        speed -= decrement;
    }

    public void speedUp(int increment) {
        speed += increment;
    }
}

```

## 类型

所有变量都必须具有类型。您可以使用原始类型，如`int`，`float`，`boolean`等。或者您可以使用引用类型，如字符串，数组或对象。

## 变量名称

所有变量，无论是字段，局部变量还是参数，都遵循语言基础课程[变量命名](../../java/nutsandbolts/variables.html#naming)中涵盖的相同命名规则和约定。

在本课程中，请注意除了相同的命名规则和约定用于方法和类名称

*   类名的第一个字母应该大写，并且
*   方法名称中的第一个（或唯一）单词应该是动词。