JAVA变量总结

1.成员变量初始化

任何变量首先应该要声明,然后再赋值,然后再使用
成员变量:成员变量在类里面声明时如果不进行初始化,那么JAVA会默认给它初始化,
局部变量:局部变量如果不给它初始化时就会出错

在这里插入图片描述

2.类是静态的概念,是位于代码区里面。

对象是new出来的,它是位于堆内存,为什么对象要位于堆内存?
因为堆内存是用来动态分配内存的,只有在运行当中才会new一个对象放堆内存里面,那这个对象到底有多大个,这个东西你不知道,你没有办法提前知道,所以你没有办法提前分配内存给这个对象,你只有在运行期间才能去分配它

3.什么叫运行期间?

敲JAVAC这个命令那是在编译期间,编译完成后再敲JAVA命令,那就是运行期间了。
只有在运行期间,才能够明白这个对象到底要分配多大的空间给它,所以把它放在堆内存里面,堆内存比较大,动态分配内存用它。如果这个对象不用了,那它就是垃圾,那么就等着垃圾收集器把它收集回去,释放掉占用的内存。

记住,以后一提到引用,脑子里马上浮现引用那就是一小块内存指向一大块内存。

在这里插入图片描述
在这里插入图片描述

成员变量:实例创建产生,在使用对象之前就加载好,而局部变量需要在类或对象调用方法时才会创建,直至实例被销毁。

类变量:是类加载过程中的准备阶段就已经分配内存了,直至类被销毁,类变量的内存才会释放。

访问实例变量的方式就只有一种:实例.实例变量。每个实例的实例变量都不对其他实例可见

其实类变量和实例变量,有点像是《火影忍者》里面的影分身之术。类是本体,而实例是类的分身,实例变量随着实例同生共死,类变量随着类同生共死。而实例之间的实例变量也可以不同。

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dong8633950/article/details/114417859