1.分类:
-
局部变量(Local Variables):定义在方法、构造方法或语句块中的变量,作用域只限于当前方法、构造方法或语句块中。局部变量必须在使用前声明,并且不能被访问修饰符修饰。
-
成员变量(Instance Variables):定义在类中、方法之外的变量,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问。成员变量可以被访问修饰符修饰。又叫实例变量
-
静态变量(Class Variables):定义在类中、方法之外的变量,并且使用
static
关键字修饰,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问,静态变量的值在程序运行期间只有一个副本。静态变量可以被访问修饰符修饰。又叫类变量 、final修饰就无法修改 -
参数变量(Parameters):方法定义时声明的变量,作为调用该方法时传递给方法的值。参数变量的作用域只限于方法内部。
-
2.演示代码
-
public class Test03 { private int a; //成员变量 private static int b; // 静态变量 public void run(int d) { //参数变量 int c = 10; //局部变量 //使用变量 a=c; b=d; System.out.println("成员变量"+a); System.out.println("静态变量"+b); System.out.println("局部变量"+c); System.out.println("参数变量"+d); } public static void main(String[] args) { b=300; System.out.println(b); Test03 test03 = new Test03(); test03.run(20); //静态变量在其他类中只能用类名访问或者对象名访问 Box box = new Box(); System.out.println(box.c); //对象名 int c = Box.c; System.out.println(c);//类名访问 } } class Box{ final static int c=100; }
//首先要知道变量应该是赋值以后才能使用的,但是有些不必人为赋值就有默认初始值,但是有些要人为定义初始值 //所以有些直接使用的并不是没有赋值,而是系统自定义了初始值,所以不会报错 public class Variable { public String instance = "实例变量"; public static String variable = "静态变量"; //静态变量的定义方式 public static String CONST = "静态常量"; //静态常量的定义方式 public static void main(String[] args) { String local = "局部变量"; //类似这个就是局部变量,不可用访问修饰符修饰,没有默认初始值 System.out.println(local); //局部变量就是在方法或语句块中的变量 Global global = new Global(); //类似这个就是实例变量,也称全局变量 System.out.println(global.instance); //实例变量就必须先把类new一个出来才能使用,因为他是在类中,方法外的 System.out.println(variable); //来瞅瞅静态变量,也叫类变量,静态变量的访问方式1(在自己类的时候) System.out.println(Global.variable); //静态变量的访问方法2(不在自己类的时候) } } class Global{ public String instance = "实例变量"; //实例变量在一个类的里面,语句块的外面 public static String variable = "静态变量"; Global(){ //在类的内部使用自己的实例变量:要么老老实实new一个出来,就像上面那个 //第二种方法就是在函数里面使用实例变量,注意,如果方法是静态方法参照方法1 System.out.println(instance); System.out.println(variable); } public void Instance() { System.out.println(instance); //静态变量访问方法1(在自己类的时候),静态常量和静态变量访问相同 System.out.println(Variable.CONST); } }