JAVA变量类型
JAVA变量类型
局部变量
在方法、语句块中声明的变量,声明时需要初始化
内存管理:局部变量存储在 Java 虚拟机(JVM)的栈上
作用域:它被声明的方法、构造方法或代码块内
生命周期: 代码块或方法执行结束被回收
实例变量
方法的成员变量,在类中,不在方法、语句块中
生命周期: 成员变量在对象创建的时候创建,在对象被销毁的时候销毁。
封装: 一般情况下应该把成员变量设为私有。通过使用访问修饰符可以使成员变量对子类可见
实例变量如果不初始化,会自动给赋默认值
访问修饰符可以修饰成员变量。
静态变量或类变量
在类加载时被初始化,而且只初始化一次,直到程序结束才会被销毁
该类的实例共享同一个类变量的值
用 static 关键字声明
可以通过类名来访问静态变量,也可以通过实例名来访问静态变量
常用信息:存储全局状态或配置信息、单例模式中的实例变量、计数器(统计对象的创建次数)
参数变量
方法或构造函数声明中的变量
只用于方法内部
值传递和引用传递
值传递
基本数据类型
在方法调用时,传递的是实际参数的值的副本
当参数变量被修改时,不会影响到原始值。是内存中两份数据
引用传递
引用数据类型
方法调用时,传递的是实际参数的引用(即内存地址)【内存中同一份数据】
当参数变量被赋予新的值时,会修改原始值的内容
常量
final 关键字修饰的变量,一旦被赋值就不能再修改
常用于存储一些固定的值