变量在Java中按照生效范围可以分成3类:类变量、成员变量和局部变量。
类变量
定义在类中,方法体之外,但必须要有 static 来声明变量类型。类变量属于整个类,可通过对象名或类名来调用。又因为类变量是使用static来声明,类变量也叫静态变量。类变量随着类的加载而存在,随着类的消失而消失。
public class Class1{
//类变量
static int a;
//方法体
public void method1(){
System.out.println(a);
}
}
成员变量
定义在类中,方法体之外。变量在创建对象时实例化。成员变量可被类中的方法、构造方法以及特定类的语句块访问。与类变量不同,成员变量只能被对象调用,所以成员变量又被称为实例变量。成员变量随着对象的创建而存在,随着对象的回收而释放。
public class Class2{
//成员变量
String int b;
//方法体
public void method2(){
System.out.println("b");
}
}
局部变量
在方法、构造方法、语句块中定义的变量。其声明和初始化在方法中实现,在方法结束后自动销毁。局部变量和其他语言是没有描述上的区别的。
public class Class3{
//方法体
public void method3(){
//局部变量
int c;
System.out.println(c);
}
}
和变量对应的是常量,在Java中常量使用 final 关键字来修饰,声明方式和变量类似:
final int SIX = 6;
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。