1.成员变量和局部变量:通常将类的属性称为类的全局变量(成员变量),将方法中的属性称为局部变量。
全局变量声明在类体中,局部变量声明在方法体中。
举个例子说明全局变量和局部变量:
public class Test{
static int times=3;//全局变量
public class static void main(String[] args){
int times=4;//局部变量
System.out。println("times的值为:"+times);
}
}
2.我们声明的全局变量或局部变量,如上的times变量的有效范围:
变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。
3.成员变量的有效范围:在整个类中都有效。其中又分为静态变量和实例变量。举个例子:
public class Test{
int x=45;
static int y=50;
}
x为实例变量,y为静态变量(类变量)。如果在成员变量的类型前面加上关键字static,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至达到整个应用程序内,除了能在定义它的类内存取,还能直接用“类名.静态变量”的方式在其它类内使用。
局部变量的有效范围:方法内部的变量,只能在当前代码快中有效,不能用于类中的其他方法中。
局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将被销毁。
4.局部变量可以和成员变量同名,此时,在局部变量所在方法中,成员变量将被隐藏,即这个成员变量在此方法中暂时失效。
5.常量:程序运行过程中一直不改变的量称为常量(constant)。在为所有的对象共享值时,常量是非常有用的。
声明常量:用final关键字进行限定:
final double PI=3.1415926D;//声明 double型常量PI并赋值
final boolean BOOL=true;//声明boolean型常量BOOL并赋值
当定义的final常量属于“成员变量”时,必须在定义时就设定它的初值,否则将会产生编译错误。