第6章Java中类、对象、接口及包的概念 H 如果在类的方法本体之中声明,则为局部变量 这有点与C语言函数中定义的局部变量相似。由于局部 变量是在方法体内所定义,因而只能在本方法中使用, 无所谓访问控制,也不能用 static修饰符加以说明。另 外,需要注意的是局部变量使用前必须初始化,这也 是它与实例变量及后面要介绍的静态变量之间的不同 之处。局部变量可以与实例变量同名而相互不影响 如果将一个实例变量声明为 static,则为静态变量 或称之为类变量。静态变量在类声明后就可以直接引 用,但实例变量则不能,必须在实例化对象后才可以 使用
第6章 Java中类、对象、接口及包的概念 如果在类的方法本体之中声明,则为局部变量, 这有点与C语言函数中定义的局部变量相似。由于局部 变量是在方法体内所定义,因而只能在本方法中使用, 无所谓访问控制,也不能用static修饰符加以说明。另 外,需要注意的是局部变量使用前必须初始化,这也 是它与实例变量及后面要介绍的静态变量之间的不同 之处。局部变量可以与实例变量同名而相互不影响。 如果将一个实例变量声明为static,则为静态变量, 或称之为类变量。静态变量在类声明后就可以直接引 用,但实例变量则不能,必须在实例化对象后才可以 使用
第6章Java中类、对象、接口及包的概念 H 下面我们对实例变量与类变量加以详细地说明, 以加深读者的理解。比如我们可以如下来声明一个成 员变量: class My class public float variable public static int variable2
第6章 Java中类、对象、接口及包的概念 下面我们对实例变量与类变量加以详细地说明, 以加深读者的理解。比如我们可以如下来声明一个成 员变量: class My Class { public float variable1; public static int variable2 }
第6章Java中类、对象、接口及包的概念 H 该例中声明了一个实例变量 variable1和一个类变 量 variable2。今后当我们创建类的实例的时候,系统就 会为该实例创建一个类实例的副本,但系统为每个类 分配类变量仅仅只有一次,而不管类创建的实例有多 少。当第一次调用类的时候,系统为类变量分配内存。 所有的实例共享了类的类变量的相同副本。在程序中 可通过一个实例或者类本身来访问类变量。例如: My Class a=new My Class My Class b=new My Classe
第6章 Java中类、对象、接口及包的概念 该例中声明了一个实例变量variable1和一个类变 量variable2。今后当我们创建类的实例的时候,系统就 会为该实例创建一个类实例的副本,但系统为每个类 分配类变量仅仅只有一次,而不管类创建的实例有多 少。当第一次调用类的时候,系统为类变量分配内存。 所有的实例共享了类的类变量的相同副本。在程序中 可通过一个实例或者类本身来访问类变量。例如: … My Class A=new My Class(); My Class B=new My Class();
随第6章JaVa中类、对象、接口及包的概念 A variable1=100 A variable2=200 B variable1=300 B variable2=400 System. out println("A variable1=+Avariable1) System. out println("A variable 2=+Avariable 2) System. out. println("Avariable1=+A variable) System. out println("A variable1=+Avariable1)
第6章 Java中类、对象、接口及包的概念 A.variable1=100; A.variable2=200; B.variable1=300; B.variable2=400; System.out.println("A.variable1= "+A.variable1); System.out.println("A.variable2= "+A.variable2); System.out.println("A.variable1= "+A.variable1); System.out.println("A.variable1= "+A.variable1);
第6章Java中类、对象、接口及包的概念 H 当我们从类实例化新对象的时候,就得到了类实例 变量的一个新副本。这些副本跟新对象是联系在一起的 因此,每实例化一个新 MyClass对象的时候,就得到了 个和 MyClas对象有联系的 variable1的新副本。当一个 成员变量用关键字 . static被指定为类变量后,其第一次调 用的时候,系统就会为它创建一个副本,之后,类的所 有实例均共享了该类变量的相同副本。所以上述程序段 的输出结果为 A variable1= 100 A variable2= 400 B variable1= 300 B variable2= 400
第6章 Java中类、对象、接口及包的概念 当我们从类实例化新对象的时候,就得到了类实例 变量的一个新副本。这些副本跟新对象是联系在一起的。 因此,每实例化一个新MyClass对象的时候,就得到了 一个和MyClass对象有联系的variable1的新副本。当一个 成员变量用关键字static被指定为类变量后,其第一次调 用的时候,系统就会为它创建一个副本,之后,类的所 有实例均共享了该类变量的相同副本。所以上述程序段 的输出结果为 A.variable1= 100 A.variable2= 400 B.variable1= 300 B.variable2= 400