关于JAVA中变量的多维划分
zsbd
JAVA中变量可以从数据类型和OOP使用方式两个维度划分
按数据类型划分?
八大数据类型:
- byte
- short
- int
- long
- float
- double
- bool
- char
- 引用类型
按OOP使用方式划分?
- 局部变量:变量在类的方法中声明,则此变量为局部变量。局部变量需要在声明时进行初始化,否则无法直接使用,本身随着方法/代码块创建/销毁。此外,局部变量的地址是安排在栈空间中的。
- 实例变量:变量在类的内部,且在类方法的外部,一个中间位置声明,则此变量成为实例变量。“实例变量”中的“实例”指的是这种变量会在类实例化时生成并自动初始化:整形数据自动初始化默认值为0;字符数据自动初始化默认值为\u0000(char型数据长度是两个字节占位16,每个位都初始化为0即为\u0000);引用类型则则会自动初始化为null。 类变量:顾名思义,会在类创建时就伴随这创建。由于类变量使用较少,但是很有特点,所以用法有一些讲究:
- 无论类在程序中实例化了多少对象,所有对象只有类变量的一份拷贝,即所有对象只能共享一个类对象;
- 类变量储存在静态存储区,因此通常会被声明为常量。当类变量被声明为final类型时,类常量的名称全部大写,如果没有就正常命名即可;
- 类本身会在程序开始时创建,因此类变量也是程序开始运行时就创建完成了,销毁也随类一同在程序结束时销毁;
- 大多数类变量会声明为public类型,即public static final [type] [name] = [value];
- 静态变量可以通过 ClassName.VariableName 的方式访问