匿名对象
1、概念:
只有右边的对象,没有左边的名字和赋值运算符(在创建对象时,只通过new的动作在堆内存开辟空间,却没有把堆内存空间的地址值赋值给栈内存的某个变量用以存储);
格式:
new 类名称();
2、注意事项
- 匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象;如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
- 匿名对象可以作为实际参数传递;也可以作为返回值使用。
- 匿名对象的好处就是使用完毕就是垃圾,可以在垃圾回收器空闲时回收,节省内存空间。
- 内存图解:
3、示例代码
package anonymous;
import java.util.Scanner;
public class Demo02Anonymous {
public static void main(String[] args) {
//普通使用方式
/*Scanner sc = new Scanner(System.in);
int num = sc.nextInt();*/
//匿名对象方式
int num = new Scanner(System.in).nextInt();
//使用匿名对象来传参
methodParam(new Scanner(System.in));
//匿名对象作为返回值
Scanner scanner = methodReturn();
}
public static void methodParam(Scanner sc) {
int num = sc.nextInt();
System.out.println("输入的数字是:" + num);
}
public static Scanner methodReturn() {
return new Scanner(System.in);
}
}