Java FAQ:this なしはクラスのメンバ
Java FAQ:S012 Q-11
public class C2008051300 { int x; void foo(int y) { this.x = x; } public static void main(String[] args) { new C2008051300().foo(2); } }
で、エラーも何も出ない
javap -c を実行
Compiled from C2008051300.java public class C2008051300 extends java.lang.Object { int x; public C2008051300(); void foo(int); public static void main(java.lang.String[]); } Method C2008051300() 0 aload_0 1 invokespecial #1 <Method java.lang.Object()> 4 return Method void foo(int) 0 aload_0 1 aload_0 2 getfield #2 <Field int x> 5 putfield #2 <Field int x> 8 return Method void main(java.lang.String[]) 0 new #3 <Class C2008051300> 3 dup 4 invokespecial #4 <Method C2008051300()> 7 iconst_2 8 invokevirtual #5 <Method void foo(int)> 11 return