阶段1 - 03. 常用API第一部分 - 02. 匿名对象


概念:创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用 场景非常有限。

匿名对象:没有变量名的对象。

格式:new 类名(参数列表);
举例:new Scanner(System.in);

应用场景 :

  1. 创建匿名对象直接调用方法,没有变量名。
    new Scanner(System.in).nextInt();
  2. 一旦调用两次方法,就是创建了两个对象,造成浪费。
    new Scanner(System.in).nextInt();
    new Scanner(System.in).nextInt();

小贴士:一个匿名对象,只能使用一次。


1. 匿名对象的说明

public class Person {
    String name;
    public void showName() {
        System.out.println("我叫:" + name);
    }
}

创建对象的标准格式:类名称 对象名 = new 类名称();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。new 类名称();

注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。

public class Demo01Anonymous {
    public static void main(String[] args) {
        // 左边的one就是对象的名字
        Person one = new Person();
        one.name = "高圆圆";
        one.showName(); // 我叫高圆圆
        System.out.println("===============");

        // 匿名对象
        new Person().name = "赵又廷";
        new Person().showName(); // 我叫:null
    }
}

2. 匿名对象作为方法的参数



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();
        // System.out.println("输入的是:" + num);

        // 使用一般写法传入参数
        // Scanner sc = new Scanner(System.in);
        // methodParam(sc);

        // 使用匿名对象来进行传参
        // methodParam(new Scanner(System.in));

        Scanner sc = methodReturn();
        int num = sc.nextInt();
        System.out.println("输入的是:" + num);
    }

    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);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值