Java之匿名对象
匿名对象概念
格式:
new 类名(参数列表);
//创建匿名Scanner对象 new Scanner(System.in);
应用场景
//创建匿名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 创建匿名对象及声明map list时初始化
java 创建匿名对象 类似于c# 中的 new { a:"aaa",b:"bbb"}; 1 创建匿名对象Object myobj = new Object() ...
- 【java】匿名对象
匿名对象使用的场景:1.如果一个对象只调用一个方法一次的时候,就可以用匿名对象来调用. 一般不会用匿名对象给属性赋值,无法获取属性值,每次new 都是一个新的对象. new Car().run();/ ...
- java面向对象 - 匿名对象
一.匿名对象 1. 创建的对象,没有显示的赋给一个变量名,即为匿名对象. 2. 匿名对象只能调用一次 二.匿名对象使用 class Phone { private int price; public ...
- Java 之 匿名对象
一.匿名对象 创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量. 虽然是创建对象的简化写法,但是应用场景非常有限. 匿名对象:没有变量名的对象. 语法格式: new 类名(参数列表): ...
- 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象
------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...
- C++不能显式调用构造函数,会生成匿名对象,这点与Java完全不一样!
Java可以直接调用同名构造函数,仅仅起初始化的功能,并不构造新的对象,但是C++里面没有.看一下这段代码: class A { public: A() { printf("A() \n&q ...
- java匿名对象
java学习面向对象之匿名内部类 之前我们提到“匿名”这个字眼的时候,是在学习new对象的时候,创建匿名对象的时候用到的,之所以说是匿名,是因为直接创建对象,而没有把这个对象赋值给某个值,才称之为匿名 ...
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对 ...
- JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块
JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买 ...
随机推荐
- ES6-Proxy,代理
proxy 代理 Es6 增强 对象和函数(方法) Proxy用于修改某些操作的默认行为,即对编程语言层面进行修改,属于“元编程”, Proxy意思为“代理”,即在访问对象之前建立一道“拦截”,任 ...
- sqlplus命令窗口执行sql脚本文件
SQL>@file_name 例如 SQL>@monitor.sql 文件须得在当前窗口所在的目录下或者指定某个路径. SQL>@D:\monitor.sql 转载示例-- ...
- vue项目空格报错,缩进不对报错,格式报错!!!
vue-cli构建项目之后发现写几句代码就会报错,但是语法什么的都没有问题,只是因为缩进.空格之类的,对于初学者格式不规范的人来说是相当难受的 图中框住的位置都会报错!! 现在有两种办法: 1.是因为 ...
- String判断为空的方式
今天遇到的笔试题: //这样的判空方式是否正确 if(!str.equals("")&&str!=null) 之前我一直都是这么写的,哪知道有什么问题呀,然后面试官 ...
- JAVA开发几个常用快捷键
- JVM-7-类加载机制
什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构. ...
- java之工厂方法设计模式
工厂方法模式是设计模式中应用最广泛的模式.在面向对象的编程中,对象的创建工作非常简单,对象的创建时机却很重要.工厂方法模式就是解决这个问题,它通过面向对象的手法,将所要创建的具体对象创建工作延迟到了子 ...
- 创建多进程之multiprocess包中的process模块
创建多进程之multiprocess包中的process模块 1.process模块是一个创建进程的模块 Process([group [, target [, name [, args [, kwa ...
- vsto 检测是否在编辑状态或者光标闪动
object m = Type.Missing; const int MENU_ITEM_TYPE = 1; const int NEW_MENU = 18; CommandBarControl oN ...
- Swoole中内置Http服务器
创建httpServer.php文件,代码如下: <?php // 创建服务对象 $http = new swoole_http_server("10.211.55.17", ...