Loading... ## 匿名对象 **概念** 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。 说人话就是:匿名对象就是只有左边的对象,没有右边的名字和赋值运算符。 匿名对象 :没有变量名的对象。 格式:`new 类名(参数列表);` 举例:`new Scanner(System.in);` <span style='color:#A52A2A'>小贴士:一个匿名对象,只能使用一次,下次再用就要重新创建新对象</span> <div class="tip inlineBlock success"> 使用建议:如果确定一个对象只需要使用唯一的一次,就可以使用匿名对象。 </div> ```java class Fivk_Anonymous { public static void main(String[] args) { // 一般方法 // Scanner sc = new Scanner(System.in); // int num = sc.nextInt() // 匿名对象 int num = new Scanner(System.in).nextInt(); System.out.println("输入的是 "+ num); } } ``` **应用场景** 1. 创建匿名对象直接调用方法,没有变量名。 ```java new Scanner(System.in).nextInt(); ``` 2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。 ```java new Scanner(System.in).nextInt(); new Scanner(System.in).nextInt(); ``` 3. 匿名对象可以作为方法的参数和返回值 **作为参数:** ```java package Fivk; import java.util.Scanner; public class Fivk_Anonymous { public static void main(String[] args) { // 一般方法 // Scanner sc = nwe Scanner(System.in); // methodParam(sc); // 匿名对象 methodParam(new Scanner(System.in)); } public static void methodParam(Scanner sc) { int num = sc.nextInt(); System.out.println("输入的是:" + num); } } ``` **作为返回值:** ```java package Fivk; import java.util.Scanner; public class Fivk_Anonymous { public static void main(String[] args) { Scanner sc = methodReturn(); 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); } } ``` 最后修改:2021 年 10 月 05 日 © 禁止转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏