java基础---13. 匿名对象

1 匿名对象的说明

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

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

注意事项:匿名对象只能使用一次下次再用不得不再创建一个对象
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象
 */
public class Demo01Anonymous {
    public static void main(String[] args) {
        Person one = new Person();
        one.name = "高圆圆";
        one.showName();//我叫高圆圆

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

        //ps:上述有三个new,所以有三个对象
    }
}

2 对于Scanner类,普通对象使用方式与匿名对象使用方式

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);

    }
}

3 匿名对象作为方法的参数

import java.util.Scanner;
public class Demo02Anonymous {
    public static void main(String[] args) {

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

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

    public static void methodParam(Scanner sc) {
        int num = sc.nextInt();
        System.out.println("输入的数字是:" + num);
    }
}

3 匿名对象作为返回值

import java.util.Scanner;
public class Demo02Anonymous {
    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);
    }
}

原文地址:https://www.cnblogs.com/deer-cen/p/12210009.html

时间: 2024-10-09 05:30:01

java基础---13. 匿名对象的相关文章

黑马程序员——Java基础篇之对象归要

1.static关键字 1.1.static可以修饰成员变量,成员方法,还有类(其中这里的类是内部类) 1.2.static修饰的部分会随着类的加载而加载: 加载过程:当JVM执行static修饰的代码时,会在内存的共享区给static部分开辟一个空间,供该类持有,static部分不是某个对象的部分,而是该类共有的,所以当一个函数会被多个对象调用时,最好定义成static,这样比较节省空间. 1.3.静态方法只能访问静态成员 原因:如果静态方法中调用了非静态的变量,那么由于静态方法是随着类的加载

第31节:Java基础-类与对象

前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载和构造方法的重载 方法的重载 在一个类中可以有多个方法具有相同的名字,但是这些方法的参数个数不同,或参数类型不同,即为方法的重载. class Demo{ // one void dashu(String name){ System.out.println(name); } // two void

Java基础13:反射与注解详解

Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Oracle官方对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fi

Java基础之类和对象

Java基础之类和对象 类和对象 定义: 类:类是一个模板,它描述一类对象的行为和状态 对象:类是一个模板,它描述一类对象的行为和状态 类 package com.imooc.animal; public class cat { String name="小猫咪"; public void run() { System.out.println("小猫快跑!"); } public void run(String name) { System.out.println(

2.Java基础之Runtime对象

毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2.打开一个程序,并用该程序打开一个支持的文件. 比如:1.打开记事本,用记事本打开*.java文件, 2.打开暴风影音播放器,用播放器打开一个本地视频. 范例代码如下: /************************************** Runtime对象: 1.该类并没有提供构造函数.

3.Java基础之Date对象

毕向东老师Java基础学习笔记——Date对象 今天学习Java中的Date对象后,感觉这个对象对我们主要有以下几点用处. 1.获取时间和日期并按照自己定义的格式显示. 2.网站设计时显示时间.  知识点如下: java.util 类 Date 表示特定的瞬间,精确到毫秒. 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 JDK 1.1 开始,应该使用 Cal

1.Java基础之System对象

毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的环境变量. 范例代码如下: /* System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. 描述系统一些信息 获取系统属性信息:Propcrtics */ import java.util.*; class SystemDemo { public s

java基础-类与对象、

一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法.这是第二点.最后分析类和类之间具体有什么关系,这是第三点. 面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面. 二.简单理解面向对象 就是在程序里面首先分解出来的应该是注意不再是一步一步的过

Java学习(匿名对象、内部类、包、import、代码块)

一.匿名对象 概念:匿名对象是指在创建对象时,只有创建的语句,却没有把对象地址值赋给某个变量. 特点: (1)匿名对象直接使用,没有变量名.当做形参使用. new Person().name="张三"; (2)匿名对象只能调用一次方法,再次调用相当于又创建了一个新的匿名对象 new Person().setName("小明"); System.out.println(new Person().getName()); //输出为空,因为又创建了一个新的匿名对象,跟上一