匿名对象
概念
创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。
匿名对象 :没有变量名的对象。
格式:
- new 类名(参数列表);
应用场景
- 1. 创建匿名对象直接调用方法,没有变量名。
例如:
new Scanner(System.in);
- 2.匿名对象可以作为方法的参数和返回值
代码举例
package demo02; import java.util.Scanner; public class Demo02Anonymous { public static void main(String[] args) { // 普通使用方式 // Scanner sc = new Scanner(System.in); // int num = sc.nextInt(); // 匿名对象的方式 int num1 = new Scanner(System.in).nextInt(); System.out.println("输入的是:" + num1); // 使用一般写法传入参数 // Scanner sc = new Scanner(System.in); // methodParam(sc); // 使用匿名对象来进行传参 methodParam(new Scanner(System.in)); Scanner sc = methodReturn(); int num2 = sc.nextInt(); System.out.println("输入的是:" + num2); } public static void methodParam(Scanner sc) { int num = sc.nextInt(); System.out.println("输入的是:" + num); } public static Scanner methodReturn() { // Scanner sc = new Scanner(System.in); // return sc; return new Scanner(System.in); } }
注意事项:
- 匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。每new一次就会产生一个新的对象
- 使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。