目录
1、匿名对象的概念
- 匿名对象是指创建对象时,只有创建对象的语句,没有把对象地址赋值给某个变量。
public class Person {
public void eat() {
System.out.println("....");
}
}
创建普通对象:
Person p = new Person();
创建匿名对象:
new Person();
2、匿名对象的特点
- 创建匿名对象直接使用,没有变量名
new Person().eat();
- 匿名对象在没有指定其引用变量时,只能使用一次
new Person().eat(); // 创建了一个匿名对象,调用eat方法
new Person().eat(); // 想再次调用eat方法,就要重新创建一个匿名对象
- 匿名对象可以作为方法接收的参数、方法的返回值
class Demo1 {
public static Person getPerson(){
// 普通方式:
Person p = new Person();
return p;
}
}
class Demo2 {
public static Person getPerson(){
// 匿名对象作为方法返回值
return new Person();
}
public static void method(Pseron p){
}
}
class Test {
public static void mian(String[] args){
// 匿名对象作为方法返回值使用
Person p = Demo2.getPerson();
Demo2.method(p);
// 匿名对象作为方法参数
Demo2.method(new Person());
}
}