static super和this内存图 对象的内存图 阿善有用

static关键字简介:
概述:
它是一个关键字, 表示静态的意思, 可以修饰成员变量, 成员方法.
特点:
1. 静态内容 是随着类的加载而加载的.
2. 静态内容 是优先于对象存在的.
3. 静态内容 可以被该类下所有的对象所共享.
//这也是我们判断是否使用 静态的 条件(依据)
4. 静态内容 可以被 类名. 的形式调用, 也可以被 对象名. 的形式调用.
推荐使用 前者.

 

 

演示局部变量 和 成员变量的区别?

答案:
1. 定义位置不同.
局部变量: 方法中, 或者方法的形参上.
成员变量: 类中, 方法外.
2. 初始化值不同.
局部变量: 没有默认值, 必须先声明, 后赋值, 然后才能使用.
成员变量: 有默认值. 例如:
int: 0
double: 0.0
boolean: false
String: null
3. 在内存中的存储位置不同.
局部变量: 存储在 栈 中.
成员变量: 存储在 堆 中.
4. 生命周期不同.
局部变量: 属于方法, 随着方法的调用而存在, 随着方法的调用完毕而消失.
成员变量: 属于对象, 随着对象的创建而存在, 随着对象的消失而消失.

 

01. 一个对象的内存图

 

 一个对象的内存图(有序号)

 

 两个对象的内存图(有序号)

 

04. 两个引用指向同一个内存地址(对象)

 

原文地址:https://www.cnblogs.com/shan13936/p/13853204.html