为什么在java中,可以这样定义类的对象?
发布网友
发布时间:2022-05-05 11:57
我来回答
共4个回答
热心网友
时间:2022-06-27 11:49
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。
热心网友
时间:2022-06-27 11:50
很正常呀,表示自身,因为类在 new 之后才会被创建,在创建之前并不知道自己是什么样的。所以想要用到自己的话,比如把自己传出去,就会这么用的。
热心网友
时间:2022-06-27 11:50
这个是可以的,慢慢习惯,你会发现这种方式在很多设计中有特别的用处的。比如,通过静态方法创建类的实例(对象)的时候,就要求类内部在初始化的时候就创建一个自己的对象。
热心网友
时间:2022-06-27 11:51
很正常
就像你在
public static void main(String[] args)
{
Main main = new Main();
}
一样的道理