00052_匿名对象

1、匿名对象的概念

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

  代码演示:

1 //已经存在的类
2 public class Person{
3     public void eat(){
4         System.out.println();
5   }
6 }

  创建一个普通对象:

Person p = new Person();

  创建一个匿名对象:

new Person();

2、匿名对象的特点

  (1)创建匿名对象直接使用,没有变量名;

new Person().eat()  //eat方法被一个没有名字的Person对象调用了

  (2)匿名对象在没有指定其引用变量时,只能使用一次;

new Person().eat(); 创建一个匿名对象,调用eat方法
new Person().eat(); 想再次调用eat方法,重新创建了一个匿名对象

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

 1 class Demo {
 2     public static Person getPerson(){
 3         //普通方式
 4         //Person p = new Person();    
 5         //return p;
 6         
 7         //匿名对象作为方法返回值
 8         return new Person(); 
 9     }
10     
11     public static void method(Person p){}
12 }
13 
14 class Test {
15     public static void main(String[] args) {
16         //调用getPerson方法,得到一个Person对象
17         Person person = Demo.getPerson();
18         
19         //调用method方法
20         Demo.method(person);
21         //匿名对象作为方法接收的参数
22         Demo.method(new Person());
23     }
24 }

 

  

posted @ 2017-12-21 21:49  gzdlh  阅读(162)  评论(0)    收藏  举报