从新开始学JAVA - 变量与常量7
变量
变量类型
- 类变量
- 实例变量
- 局部变量
声明和初始化
- 变量声明是定义一个变量
- 变量初始化需要赋值,并且赋值的对象必须已经声明过
变量声明
// 实例变量与局部变量
// 类变量必须同时声明和初始化,所以放在后面展示
type variableName;
例如
String myLastName;
String myLastName, myFirstName, myMiddleName;
变量声明+初始化
// 实例变量与局部变量
type variableName = value [{, variableName = value}];
// 类变量
static type variableName = value [{, variableName = value}]; // 必须有关键词static
例如
// 实例变量与局部变量
String myLastName = "Funny";
String myLastName = "Funny", myFirstName = "Joke", myMiddleName = "Interesting";
// 类变量
static int i = 1, j = 2;
变量作用域
- 类变量:存在于整个类里面,就算没有实例化,必须声明和初始化值
- 实例变量:存在于类的实例里面,从属于对象,即类必须实例化以后才能使用。有默认值。
- 局部变量:存在于方法里面
public class Variable {
static int number = 1; // 类变量,有static这个关键词,必须同时声明以及初始化
String name = "hello world"; // 实例变量,可以不初始化,但必须声明
public void method() {
in i = 0; // 局部变量,可以不初始化,但必须声明
}
public static void main(String[] args) {
Variable newVariable = new Variable(); // 这就是将类实例化,其实就是用new来创建一个类,赋予它名字和内存空间
System.out.println(newVariable.name); // 必须将类实例化以后,实例变量才能使用,这行才不会报错
System.out.println(Variable.name); // 这行就会报错:Non-static field 'name' cannot be referenced from a static context
}
常量
常量必须同时声明和初始化,并且初始化(赋值)以后,不能再改变值
变量声明+初始化
final type variableName = value [{, variableName = value}]; // 必须有关键词final
例如
final int MINUTE = 1, SECOND = 2;