1. 程式人生 > >Java中的匿名對象

Java中的匿名對象

java 匿名對象 new Person java中匿名對象 匿名對象的使用

一、概述:沒有名字的對象,或者說是沒有賦值給任何變量的對象。匿名對象是指創建對象時,只有創建對象的語句(new 對象類型),沒有接收這個對象的變量。
例如:
Person類:

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

測試類

public class Test {
    public static void main(String[] args){
        //創建一個普通對象
        Person person1 = new Person();
        //創建一個匿名對象
        new Person();
    }
}

二、匿名對象的特點和使用
1、創建匿名對象直接使用,沒有變量名

new Person().eat();//創建匿名對象,調用eat()方法

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());
    }
}

總而言之,匿名對象相當於一個一次性的對象。

Java中的匿名對象