java匿名对象_匿名对象概念和使用

java匿名对象_匿名对象概念和使用在千峰“逆战”学习第14天Personperson=newPerson(“骚杰”,66,‘男’);Person类名person对象名newPerson(…)像内存的堆区申请空间,创建一个Person类对象使用的内存空间匿名对象没有名字的对象,没有对象名的对象格式:new构造方法(所需参数)用途1.提高开发效率,隐形眼镜日抛,一次性筷子匿名对象当前行使用…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Person person = new Person(“骚杰”, 66, ‘男’);

Person 类名
person 对象名
new Person(…) 像内存的堆区申请空间,创建一个Person类对象使用的内存空间

匿名对象
没有名字的对象,没有对象名的对象
格式:
new 构造方法(所需参数)
用途
1. 提高开发效率,隐形眼镜日抛,一次性筷子
匿名对象当前行使用之后,如果没有其他引用数据类型的变量保存其地址,直接销毁
2. 简化代码结构
3. 通过匿名对象直接调用成员方法
4. 使用匿名对象作为方法的参数

class Dog { 
   
	// 成员变量 Field
	String name;
	
	// 成员方法 Method
	public void sleep() { 
   
		System.out.println("小狗睡觉~~~");
	}
}

public class Demo1 { 
   
	public static void main(String[] args) { 
   
		// 常见模式
		Dog dog = new Dog();
		dog.sleep();
		
		System.out.println("---------------------");
		
		// 使用匿名对象直接调用成员方法
		// 通过匿名对象调用方法之后,当前匿名对象销毁
		new Dog().sleep();
		
		
		// 只要有new关键字,重新创建对象,不存在同一个对象
		System.out.println(new Dog());
		System.out.println(new Dog());
		
		System.out.println("---------------------");
		
		// 匿名对象不推荐使用成员变量,因为肉包子打狗,有去无回
		// 以下代码中是三个完全不同的Dog类对象,给其中任何一个赋值都是无法取出的
		new Dog().name = "骚杰";
		new Dog();
		System.out.println(new Dog().name);
		
		System.out.println("---------------------");
		
		Dog dog2 = new Dog();
		useDog(dog2);
		
		// 匿名对象直接作为方法的参数,【常用】
		useDog(new Dog());
		
		// 下面这一行代码,你们要保证不要问我!!!我只做演示,后面一定会讲 缓冲字节输入流
		// BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(new File("C:/aaa/1.txt")));
		
	}
	
	/** * 该方法需要的参数是一个Dog类对象 * * @param dog Dog类对象 */
	public static void useDog(Dog dog) { 
   
		dog.sleep();
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196632.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】5种网络IO模型

    【转载】5种网络IO模型

    2021年11月18日
    47
  • 万字图解Java多线程

    万字图解Java多线程前言java多线程我个人觉得是javaSe中最难的一部分,我以前也是感觉学会了,但是真正有多线程的需求却不知道怎么下手,实际上还是对多线程这块知识了解不深刻,不知道多线程api的应用场景,不知道多线程的运行流程等等,本篇文章将使用实例+图解+源码的方式来解析java多线程。文章篇幅较长,大家也可以有选择的看具体章节,建议多线程的代码全部手敲,永远不要相信你看到的结论,自己编码后运行出来的,才是自己的。什么是java多线程?进程与线程进程当一个程序被运行,就开启了一个进程,比如启动了qq,w.

    2022年6月6日
    32
  • java 文件转inputstream_把文本转换成表格

    java 文件转inputstream_把文本转换成表格以下是一些将InputStream转换为FileJava示例手动将InputStream复制到FileOutputStreamApacheCommonsIO–FileUtils.copyInputStreamToFileJava1.7NIOFiles.copy1.FileOutputStream1.1我们必须将数据从InputStream手动复…

    2022年9月21日
    1
  • c语言 无锁编程,无锁编程与有锁编程的效率总结、无锁队列的实现(c语言)「建议收藏」

    c语言 无锁编程,无锁编程与有锁编程的效率总结、无锁队列的实现(c语言)「建议收藏」1.无锁编程与有锁编程的效率无锁编程,即通过CAS原子操作去控制线程的同步。如果你还不知道什么使CAS原子操作,建议先去查看相关资料,这一方面的资料网络上有很多。CAS实现的是硬件级的互斥,在线程低并发的情况下,其性能比普通互斥锁高效,但是当线程高并发的时候,硬件级互斥引入的代价与应用层的锁竞争产生的代价同样都是很大的。这时普通锁编程其实是优于无锁编程的。硬件级原子操作使应用层的操作变慢,而且无法…

    2022年5月2日
    40
  • 中国蚁剑安装教程_剑形虹臭蚁的天敌

    中国蚁剑安装教程_剑形虹臭蚁的天敌中国蚁剑:https://www.freebuf.com/sectool/98681.htmlgithub地址:https://github.com/AntSwordProject我下载好的(这里的版本太旧了,去github下载吧):https://www.lanzous.com/b548184/密码:cbek教程:两个全部解压好(一个是源码,一个是启动文件)先…

    2022年10月21日
    0
  • JavaScript(19)jQuery HTML 获取和设置内容和属性

    JavaScript(19)jQuery HTML 获取和设置内容和属性

    2021年12月2日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号