Java中this关键字,代表指向当前对象的指针。 楼主给的代码中的final Main main = this; 只是再声明了一个变量指向当前对象,并没有再创建一个当前对象,其实不用final也是可以的,之后在程序中还可以把main指向其他对象。
那为什么main可以指向自己呢?Java中对象创建的顺序是:分配内存,然后初始化。在另一类中创建Main x=new Main()时,首先创建一个Main,创建这个Main时分配内存,分配完内存,这个Main中的this就指向了它自己,然后这个Main进行初始化,即执行final Main main = this; 即声明了另一个变量main同样指向它自己,最后x指向创建出的Main。