先说一句,面向对象的终极目标:减少重复代码;想法设法减少重复代码
匿名对象:
有名对象
eg:
Dog dog = new Dog(); //创建一个对象 dog.jump(); //调用dog的jump方法----通知dog去干jump这个事,注意是dog去干jump这个事
匿名对象
eg:
new Dog().jump();
//没有对象名
//匿名对象只生效一次,使用完之后,永远都不会再出现该对象。
//如果执行两次该语句,
即
new Dog().jump(); new Dog().jump();
//每出现一个new,就表示产生一个对象,相应的就会在堆内存开辟一块空间,用于存放新生成的对象
//此处出现两个new,即表示在堆里开辟了2块空间,用于存放两个new出来的对象;因此,两次new出来的匿名对象指的并不是同一个;
//由此,也就表明,匿名对象会且仅会生效一次。