Java之匿名对象
Posted wurengen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之匿名对象相关的知识,希望对你有一定的参考价值。
匿名对象概念
创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。匿名对象 :没有变量名的对象。
格式:
-
new 类名(参数列表);
//创建匿名Scanner对象 new Scanner(System.in);
应用场景
1.创建匿名对象直接调用方法,没有变量名。好处是可以简化代码。
//创建匿名Scanner对象,并且调用方法 new Scanner(System.in).nextInt();
2.匿名对象可以作为方法的参数和返回值
- 作为参数:
package MyCode; import java.util.Scanner; public class Test { public static void main(String[] args) { // 普通方式 Scanner sc = new Scanner(System.in); input(sc); //匿名对象作为方法接收的参数 input(new Scanner(System.in)); } public static void input(Scanner sc) { System.out.println(sc); } }
- 作为返回值:
package MyCode; import java.util.Scanner; class Test2 { public static void main(String[] args) { // 普通方式 Scanner sc = getScanner(); } public static Scanner getScanner() { //普通方式 Scanner sc = new Scanner(System.in); //return sc; //匿名对象作为方法返回值 return new Scanner(System.in); } }
注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。一旦调用两次方法,就是创建了两个对象,造成浪费。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
以上是关于Java之匿名对象的主要内容,如果未能解决你的问题,请参考以下文章
Java基础学习笔记十 Java基础语法之finalstatic匿名对象内部类