1.没有static关键字的方法被称为“实例方法”,没有static关键字的变量被称为“实例变量”,要想访问“实例变量”,必须通过“引用”的方式
2.this是一个引用,this是一个变量,this变量保存了内存地址指向自身,this存储在JVM堆内存Java对象空间的内部(类似于python中的self,C语言中指向自身结构体的指针)
3.每一个对象中都有一个this变量,100个Java对象中有100个this变量,每一个都不同
4.this可以出现在“实例方法”当中,this指向当前正在执行这个动作的对象。(this代表当前对象,其内存存储的是当前对象在堆内存中的地址)
5.this在多数情况下可以省略不写
6.this不能使用在带有static关键字的方法中,this也不能使用在main方法中(如果要在main方法中调用”实例方法“或”实例变量“,请参考6)
7.在带有static关键字的方法中不能”直接“访问“实例变量”和“实例方法”,会报错
--如何在带有static关键字的方法中访问“实例变量”和调用“实例方法”呢?
*先创建对象(new),通过引用来调用”实例方法“和”实例变量“
*可以理解为带有static关键字的方法中连this都没有,何谈this所指向的对象中含有的实例变量和实例方法
8.所谓main方法,其实是由Java JVM来调用的方法,是多米诺骨牌的第一张牌。例如在Java中JVM是这样调用的:(假设类名是ThisTest)
ThisTest . main ( String[ ] ) (因为main方法有static修饰符,直接调用即可)
原文:https://www.cnblogs.com/RosemaryJie/p/12859415.html