gpt4 book ai didi

java中this的内存原理以及成员变量和局部变量

转载 作者:我是一只小鸟 更新时间:2023-05-12 22:31:06 30 4
gpt4 key购买 nike

this的内存原理

1、this的作用:

区分局部变量和成员变量 。

eg:

                        
                          public class Student{
		private int age;
		public void method(){
		int age = 10;
		System.out.println(age);//10
		System.out.println(this.age);//0使用this.可以直接使用成员变量的age
		}
}

                        
                      

2、this的本质:

代表所在方法调用者的地址值 。

3、区分的原理:

代表所在方法调用者的地址值:

此时main方法里面的调用者是s,s记录的地址值是001;this的本质是方法调用者的地址值,所以this指向的地址值是001.

this的内存原理:

解析:

等号的右边name出发了就近原则,表示setName里面形参string name里面的参数,而形参里面接收的是s1.setname里面的竹小玲,所以等号右边就是竹小玲,等号左边用this调用的name是s1指向的地址值001。该句话意思就是把竹小玲赋值给等号左边001里面的name。此时方法执行完毕,进行出栈 。





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

1、成员变量:

类中mian方法外的变量(没有上下规定,在代码中为了方便阅读,把成员变量放在最上面) 。

2、局部变量:

main方法里面的变量 。

3、成员变量和局部变量的区别:

(1)类中位置不同:

成员变量:类中,方法外 。

局部变量:类中,方法里面 。

(2)初始化值不同:

成员变量:有默认初始化值(一般是null和0) 。

局部变量:使用之前需要完成赋值 。

(3)内存位置不同:

成员变量:存储在堆内存对象里面 。

局部变量:存储在栈内存方法里面 。

(4)生命周期不同:

成员变量:随着对象的创建而存在,随着对象的消失而消失 。

局部变量:随着方法的调用而存在,随着方法的运行结束而消失 。

(5)作用域:

成员变量:整个类中有效 。

局部变量:仅在当前方法中有效 。

最后此篇关于java中this的内存原理以及成员变量和局部变量的文章就讲到这里了,如果你想了解更多关于java中this的内存原理以及成员变量和局部变量的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com