匿名对象:就是没有名字的对象
匿名对象的使用场景:
1.当仅仅调用一次方法的时候
当调用多次的时候不适合,每次new的时候都是一个新的匿名对象,会频繁的在堆内存中开辟空间
当匿名对象使用完毕之后,无法再使用第二次,就变成一个垃圾(当栈中没有变量引用它的时候,判定为一个垃圾),等待被垃圾回收器回收
2.当方法的参数类型是一个类的时候
class Phone4 {
public void show() {
System.out.println("手机可以打电话");
}
}
class PhoneDemo {
public void function(Phone4 p) {
p.show();
}
}
public class AnonymousDemo {
public static void main(String[] args) {
//当new完对象以后直接使用,没有用变量名接收的对象,称之为匿名对象
new PhoneDemo().function(new Phone4());
}
}