局部变量和成员变量的区别
1,区别

2.内存位置不同


如图,主方法里的变量stu1和stu2在栈内存,new开辟空间后,name变量在堆内存
.
3.生命周期不同
1.随着对象的消失而消失
https://kdocs.cn/l/cuQvFYJirzaR?linkname=150996495
主方法进栈,遇到method,method进栈,有new进堆,name成员变量进入空间
随着method方法走完,method弹栈,意味着stu对象消失,程序里没有任何代码可以找到name的地址,此时name的空间就被称为内存中的垃圾
java里有垃圾回收器,会帮我们定期清理垃圾,成员变量也就随之消失

4.作用域
变量的使用范围

如图,在study里定义的a,不能在method中使用,因为a的作用域在study中

 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号