Project—module—package—class
2022/1/11总结
1.面向对象内存图
2.构造器
3.封装(getter setter)
4.String类型
内存图
先执行class Test
再执行main
Car c1 这三者放入方法区中
c1相当于一个变量 变量放入栈中
再有new出来的东西 new的放入堆中(初始值为null和0)
堆中对象中只放属性和方法的引用地址
c1中放的是地址
两个变量指向同一个对象
Java垃圾回收机制
堆内存中类对象无变量指向会被视为垃圾被回收
构造器
1.无参
2.有参
**String类型
**
字符串(面试常考关于内存问题)
String字符串在内存中只存一份 且创建后不可改变
不可改变的原因:
如图 每次修改知识改变了指针,指向了一个新的对象 而原来的对象并不会改变,所以成为不可变字符串
四种创建字符串的方式
法一
法二
注意上面两种方法的区别!!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)