一、概念
使用类创建一个对象时,可以不定义类对象的引用变量,而直接调用这个对象的方法,这样的对象叫做匿名对象;顾名思义,匿名对象也就是没有名字,而类的对象名是一个引用变量,也就是没有引用变量。
例如:
MyClass test = new MyClass();
MyClass.example(1,2,3);
可以改写为:
new MyClass().example(1,2,3);
则new MyClass()就是匿名对象,这个语句没有声明任何对象,而是直接用new运算符创建了类MyClass的对象并直接调用了它的example()方法,这个语句的执行结果和改写前的执行结果相同,注意,当这个方法执行完后,这个对象也就成了垃圾。
二、使用匿名对象通常有一下两种情况
(1)如果一个对象只需要进行一次调用
(2)将匿名对象作为实参传递给一个方法调用。
例如:
public static void getSomeOne(MyClass test){
.
.
.
}
可以使用下面的语句调用这个方法。
getSomeOne(new MyClass());