1.this是什么
this就是一个变量,可以用在方法中,来拿到当前对象(这个this就相当于你的车钥匙,当你在把车停到了车库,然后你发现找不到你的车的时候,就会按一下车钥匙,让你的车叫一下,你就会晓得你的车在哪里,这个this就相当于是你的车钥匙,当然哈,看到的电动车钥匙,我什么水平,怎么可能有汽车嘞)。
2.this的执行原理
解析:先方法区,加载class文件,加载main方法,方法区加载好之后,在栈内存中会加载一个main空间,然后继续回到代码内,发现要创造Student文件,就加载Student.class文件进方法区,然后在栈中的main空间内加载一个s1空间,然后发现代码内有new,会在堆中创造一个Student的s1的空间,在将地址值交给在堆内存中的s1空间,在将类的地址交给身在方法区的Student.class,继续运行会发现需要打印s1,就将s1打印空间内的地址值打印出来,然后继续运行发现需要调用Student内的printThis方法,就去Student内找printThis方法,发现方法里面需要打印输出this,就将自己的地址打印输出,第二次s1差不多是相同的样子,自己去领悟
3.this有啥应用场景
this主要用来解决:变量名称冲突问题的(就是相当于,等你喝醉了的时候,怕你进错家门的钥匙,当你用钥匙打不开这个门的时候,就代表着不是你家,当你this点不出来的变量,就代表着个变量不是你这个类里面的,就是怕你进错房子睡错床喽,到时候就解释不清楚了)。
注:括号内的红色字体为个人见解