(1) 在Java语言中,根据定义变量的位置不同,可以将变量分成两大类;成员变量和局部变量。 (2)成员变量 成员变量包括类变量(用static修饰的变量)和实例变量(不用static修饰的变量) 一个类在使用之前要经过类加载、类验证、类准备、类解析、类初始化等几个阶段 类变量: 类变量在类准备阶段起开始存在,直到系统完全销毁这个类。类变量属于类,并且与类共存亡,类变量在内存中有且只有1份,通过类名.类变量 来调用。 实例变量: 实例变量在类的实例创建时开始存在,直到系统完全销毁这个实例。实例变量属于对象,通过对象.实例变量类当用,当然类变量也可以使用对象.类变量来访问。 但是需要注意的是,通过对象.实例变量调用实例变量的过程中,该实例变量仍然属于类,而不属于当前的对象 如:
package cn.bytecollege.variable;
/**
* 学生类 *
@author Ray
* */
public class Student
{
//静态成员变量 班级
public static String grade;
} package cn.bytecollege.variable; /** * 测试类 * @author Ray * */ public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //为类变量grade赋值 Student.grade = "三班"; //创建对象student1 Student student1 = new Student(); //创建对象student2 Student student2 = new Student(); //通过对象.类变量的方式调用静态变量并修改值 该静态变量属于全体对象 student1.grade = "一班"; System.out.println(student2.grade);//输出:一班 } }
(3)局部变量
1. 分支结构内定义的变量 2. 循环结构内定义的变量 3. 方法内定义的变量 4. 方法参数列表中的变量 5. 代码块中定义的变量 所有局部变量的作用范围都是离定义变量最近的大括号内 如: package cn.bytecollege.variable;