一、匿名对象
创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量。
虽然是创建对象的简化写法,但是应用场景非常有限。虽然这样,也有其特定的用处,看到了不要慌。
匿名对象:没有变量名的对象。
语法格式:
1 |
|
二、应用场景
1:当对象的方法只使用一次时,可以使用匿名对象来完成,这样写比较简化
如果一个对象进行多个成员变量的调用,必须给这个起个名字。
Demo:
1 |
|
一旦调用两次方法,就是创建了两个对象,造成浪费。
Demo:
1 2 |
|
2:匿名对象可以作为方法的参数和返回值
-
- 作为参数
1 class Test { 2 public static void main(String[] args) { 3 // 普通方式 4 Scanner sc = new Scanner(System.in); 5 input(sc); 6 //匿名对象作为方法接收的参数 7 input(new Scanner(System.in)); 8 } 9 public static void input(Scanner sc){ 10 System.out.println(sc); 11 } 12 }
.. 作为返回值
1 class Test2 { 2 public static void main(String[] args) { 3 // 普通方式 4 Scanner sc = getScanner(); 5 } 6 public static Scanner getScanner(){ 7 //普通方式 8 //Scanner sc = new Scanner(System.in); 9 //return sc; 10 //匿名对象作为方法返回值 11 return new Scanner(System.in); 12 } 13 }