java关于static的一点小疑问
最近帮同学写代码的时候发现了一个有意思的现象那就是在static方法中this关键字不能使用
如图
这我就很迷惑了然后后来查了一下《Java编程思想》,那上面说在调用非static的方法时编译器会把这个对象的引用变量作为参数传入方法中,然后就用this关键字来表示这个引用变量
然后我就用jdk自带的反汇编器反汇编看了看:
从图中可以看出两个方法的反汇编语句确实是不同的,test2的aload_0表示局部引用变量入栈,iload_1表示局部int型变量入栈这个是符合我们的预期的。
未完待续。
原创文章转载请注明出处