对于实例变量而言,它属于Java 对象本身,每次程序创建Java 对象时都需要为实例变量分配内存空间,并执行初始化。从程序运行的角度来看,每次创建Java 对象都会为实例变量分配内存空间,并对实例变量执行初始化。从语法角度来看,程序可以在3个地方对实例变量执行初始化:
定义实例变量时指定初始值;
非静态初始化块中对实例变量指定初始值;
构造器中对实例变量指定初始值。
其中第1、2种方式(定义时...
6年前 (2018-11-02) 1322℃
0喜欢
使用static 修饰的成员变量是类变量,属于该类本身;没有使用static 修饰的成员变量是实例变量,属于该类的实例。在同一个 JVM内,每个类只对应一个Class对象,但每个类可以创建多个Java对象。
由于同一个JVM内每个类只对应一个Class对象,因此同一个JVM内的一个类的类变量只需一块内存空间;但对于实例变量而言,该类每创建一次实例,就需要为实例变量分配一块内存空间。也就是说,程序中...
6年前 (2018-11-01) 1196℃
0喜欢
Java程序的变量大体可分为成员变量和局部变量。
1.局部变量
局部变量的作用时间很短暂,它们都被存储在方法的栈内存中。局部变量可分为如下3类:
形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。
方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化。这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。
代码块内的局部变量:在代码块内定...
6年前 (2018-11-01) 1730℃
0喜欢