正常的对象创建需要赋予一个对象名:
类名 对象名 = new 类构造方法();
匿名对象就是创建一个没有名字的对象:
值 = new 类构造方法();
值:创建对象返回的内容,非对象名
下面通过一个示例来展示:
不匿名:
public static void main(String[] args) {
Math math = new Math(); //先创建有名对象 math(栈内存开辟空间)
int num = math .sum(100, 200); //再通过 math 对象调用方法
System.out.println(num);
}
有名对象创建之后会在栈内存存储,之后可以无数次通过对象名使用这个对象
匿名:
public static void main(String[] args) {
int num = new Math().sum(100, 200); //直接通过创建匿名对象调用方法
System.out.println(num); //(栈内存不开辟空间)
}
直接在创建时调用方法,没有为此对象创建名字,所有此对象仅能使用这一次。
因为在栈内存中没有存储名字,所有无法通过名字找到此对象
所以什么时候用?
只用一次的对象可以使用匿名对象的创建方法