理解java匿名对象

匿名对象的概念

匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。
如:已经存在的类:

public class Person{
	public void eat(){
		System.out.println();
        }
}

创建一个普通对象

Person p = new Person();

创建一个匿名对象

new Person();

匿名对象的特点

1)创建匿名对象直接使用,没有变量名。
new Person().eat()  //eat方法被一个没有名字的Person对象调用了。
2)匿名对象在没有指定其引用变量时,只能使用一次。
new Person().eat(); 创建一个匿名对象,调用eat方法
new Person().eat(); 想再次调用eat方法,重新创建了一个匿名对象

3)匿名对象可以作为方法接收的参数、方法返回值使用

class Demo {
	public static Person getPerson(){
		//普通方式
		//Person p = new Person();	
		//return p;
		
		//匿名对象作为方法返回值
		return new Person(); 
	}
	
	public static void method(Person p){}
}

class Test {
	public static void main(String[] args) {
		//调用getPerson方法,得到一个Person对象
		Person person = Demo.getPerson();
		
		//调用method方法
		Demo.method(person);
		//匿名对象作为方法接收的参数
		Demo.method(new Person());
	}
}


猜你喜欢

转载自blog.csdn.net/weixin_37861326/article/details/80480726