【JAVA】Java中的变量划分
2018-05-08 本文已影响0人
Pino_HD
0x01 变量的划分
-
成员变量
直接定义在类中的变量- 类成员变量:在成员变量前面加static
- 实例变量:没加static就是实例成员变量
注意:在方法中不能定义static
-
局部变量
定义在方法当中的变量(参数,内部定的变量,代码块)
必须要初始化之后使用
0x02 总结
-
类成员和实例成员的访问
- 在static方法中,只能调用static成员
- 非static方法中,可以访问静态成员也可以访问非静态成员
- 可以通过对象去调用静态成员(本质还是通过类名调用)
变量名称 | 存放位置 | 生命周期开始 | 声明周期结束 | 内存位置 |
---|---|---|---|---|
类变量 | 字段,使用static | 所在字节码加载到JVM | 当JVM停止时 | 方法区 |
实例变量 | 字段,不使用static | 创建所在类的对象 | 对象被回收的时候 | 堆 |
局部变量 | 方法参数,代码块,方法区 | 执行到初始化变量时 | 所在方法或代码块执行结束 | 栈 |