sd.method(new Student());
new StudentDemo().method(new Student());
楼主是问最后两句吧.
第一句理解:
sd.method(new Student()); 等价于
Student s = new student();
sd.method(s);
匿名对象 顾名思义就是省略名字的对象,一般用于该对象只使用一次 或者 此对象名字不重要,根本不需要知道.
本行中省略了s变量, 即在堆中new了student的对象,但是不用在栈内存中开辟变量空间s.
第二句理解:
new StudentDemo().method(new Student()); 等价于
StudentDemo sd = new StudentDemo();
Student s = new student();
sd.method(s);
如上所属,sd,s的名字省略,但是效果相同
|