Java之匿名对象
匿名对象的使用
1.理解:我们创建的对象没有显示的赋给变量名,即为匿名对象
2.特征:匿名对象只能调用一次
3.使用:当对象对方法仅进行一次调用的时候,就可以使用匿名对象进行调用
/** * 匿名对象的使用,根据代码来加深以下理解 */ public class InstanceTest { public static void main(String[] args) { //1.一般创建对象,并调用方法,这里调用方法是同一个对象 Phone phone = new Phone(); phone.playGame(); phone.sendEmail(); System.out.println("--------------1.以上是一般对象---------------------"); //2.创建匿名对象:new Phone() ,并使用匿名对象调用方法,下面new了多次,会产生多个对象 new Phone().playGame(); new Phone().sendEmail(); new Phone().price = 2999;//匿名对象可以调用属性,但是没有意义 new Phone().showPrice(); //结果0.0,因为与上面赋值2999无关,是两个不同的对象 System.out.println("-----------------2.以上是匿名对象------------------"); PhoneMall phoneMall = new PhoneMall(); //3.一般对象使用 phoneMall.show(phone); System.out.println("-----------------3.以上是一般对象使用------------------"); //4.匿名对象的具体使用 phoneMall.show(new Phone()); System.out.println("-----------------4.以上是匿名对象的具体使用------------------"); } } class PhoneMall{ public void show(Phone phone){ phone.sendEmail(); phone.playGame(); } } class Phone{ double price; public void sendEmail(){ System.out.println("发送邮件"); } public void playGame(){ System.out.println("玩游戏"); } public void showPrice(){ System.out.println("手机价格为"+price); } }
内存解析:理解匿名对象在内存中如何实现的