首先要明确成员变量和局部变量的区别:成员变量就是方法外部,类的内部定义的变量; 局部变量就是方法或语句块内部定义的变量。局部变量必须初始化。
形式参数是局部变量,局部变量的数据存在于栈内存中。栈内存中的局部变量随着方法的消失而消失。
成员变量存储在堆中的对象里面,由垃圾回收器负责回收。
其中的 a 是成员变量,存放在堆中,所有new出来的对象都存放在堆中。第一个问题 TestA是静态变量,存放在方法区中,它指向Test01.它并没有存放在堆内存中。第二个问题 TestA和TestA.TestA指的都是TestA这个静态变量,它存放的是new Test01的地址,他们比较当然是true了。第三个问题 |