12.3 匿名对象

匿名对象的概念:

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

如:已经存在的类:

public class Person{

    publicvoid eat(){

        System.out.println();

    }

}

创建一个普通对象

Person p = new Person();

创建一个匿名对象

new Person();


匿名对象的特点:

创建匿名对象直接使用,没有变量名。

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

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

new Person().eat(); 创建一个匿名对象,调用eat方法

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

        

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

class Demo {

    publicstatic Person getPerson(){

        //普通方式

        //Person p = new Person();

        //return p;

       

        //匿名对象作为方法返回值

        return new Person();

    }

   

    publicstatic voidmethod(Person p){}

}

class Test {

    publicstatic voidmain(String[] args) {

        //调用getPerson方法,得到一个Person对象

        Person person = Demo.getPerson();

       

        //调用method方法

        Demo.method(person);

        //匿名对象作为方法接收的参数

        Demo.method(newPerson());

    }

}


猜你喜欢

转载自blog.csdn.net/southdreams/article/details/80071206