不多说,直接上干货!

什么是匿名对象?

  答: 没有名字的实体,也就是该实体没有对应的变量名引用。

     没有名字的实体,没有引用类型变量指向的对象称作为匿名对象。

  正常的,是

    Car car = new Car();

  匿名对象的,是

    new Car();

匿名对象的简单演示

new Car().run();

匿名对象的内存结构图

  1:new Car().num=5;

2:new Car().clor="blue";

两个new 是两个不同的对象,在堆内存中有不同的空间,相互不相互干扰。

匿名对象的应用场景

  1:    当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化

 为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

如果对象要多成员进行多次调用,必须给对象起个名字。不能再使用匿名对象

2:    匿名对象可以实际参数进行传递

匿名对象的使用

1:  当只使用一次时可以使用匿名对象。执行完毕到 后该匿名对象就变成了垃圾。

new Car().run();

2:   执行方法时,可以将匿名对象作为实际参数,传递进去。

匿名对象的简单例子

//学生类
class Student{ int num; //学号
String name; //名字
public void study(){
System.out.println("好好学习天天向上");
}
} class myClass{ public static void main(String[] args)
{
//创建一个学生对象
//Student s = new Student();
//new Student().name = "小明"; //匿名对象
//System.out.println(Student().name); //null
System.out.println(new Student() == new Student()) ; // "==" 用于引用类型变量时,比较的是内存地址。判断两个 对象是否为同一个对象 需求: 调用Student的study方法。 Student s = new Student();
s.study();
//创建匿名对象
new Student().study(); }
}

匿名对象要注意的事项:

  1:   我们一般不会给匿名对象赋予属性值,因为永远无法获取到。(因为是没有引用变量指向那个对象
  2:   两个匿名对象永远都不可能是同一个对象。

牛客网Java刷题知识点之匿名对象、匿名对象的内存结构图、匿名对象的应用场景、匿名对象的使用、匿名对象的简单例子、匿名对象要注意的事项的更多相关文章

  1. 牛客网Java刷题知识点之为什么HashMap和HashSet区别

    不多说,直接上干货! HashMap  和  HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的 ...

  2. 牛客网Java刷题知识点之为什么HashMap不支持线程的同步,不是线程安全的?如何实现HashMap的同步?

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  3. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  4. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  5. 牛客网Java刷题知识点之垃圾回收算法过程、哪些内存需要回收、被标记需要清除对象的自我救赎、对象将根据存活的时间被分为:年轻代、年老代(Old Generation)、永久代、垃圾回收器的分类

    不多说,直接上干货! 首先,大家要搞清楚,java里的内存是怎么分配的.详细见 牛客网Java刷题知识点之内存的划分(寄存器.本地方法区.方法区.栈内存和堆内存) 哪些内存需要回收 其实,一般是对堆内 ...

  6. 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  7. 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  8. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  9. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  10. 牛客网Java刷题知识点之泛型概念的提出、什么是泛型、泛型在集合中的应用、泛型类、泛型方法、泛型接口、泛型限定上限、泛型限定下限、 什么时候使用上限?泛型限定通配符的体现

    不多说,直接上干货! 先来看个泛型概念提出的背景的例子. GenericDemo.java package zhouls.bigdata.DataFeatureSelection; import ja ...

随机推荐

  1. C# 抽象方法及抽象类 Abstract 及接口

    public abstract class Animal { public abstract void Dosth(); } 该类中只有虚方法  那么我们可以用abstract来修饰  将该类称为抽象 ...

  2. sql 根据指定字符截取前面几个字符

    1.找到指定字所在的位置并且减去多少是要截取的字符长度 CharIndex('元',product_name)-3) 2.截取 SUBSTRING(product_name, CharIndex('元 ...

  3. angular 分页

    http://jsfiddle.net/SAWsA/11/# <html xmlns:ng="http://angularjs.org" ng-app lang=" ...

  4. Oauth Client Credentials Grant

    http://www.cnblogs.com/dudu/p/4569857.html OAuth真是一个复杂的东东,即使你把OAuth规范倒背如流,在具体实现时也会无从下手.因此,Microsoft. ...

  5. SQLServer存储引擎——03.日志

    3. SQLServer存储引擎之日志篇 (3.1)日志结构 (3.1.1)物理日志 (0)物理日志即数据库的.ldf文件, 当然后缀名是可以自定义的,默认是.ldf (1)一个SqlServer数据 ...

  6. ubuntu不能自windows拖拽文件解决办法

    由虚拟机的安装更新所致,及时安装更新vmware  tools 命令:tar -xzvf VMwareTools-10.0.6-3595377.tar.gz进入解压后的目录,执行:sudo ./wmw ...

  7. 最短路【洛谷P3393】 逃离僵尸岛

    P3393 逃离僵尸岛 题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被 ...

  8. CF796A Buying A House 模拟

    Zane the wizard had never loved anyone before, until he fell in love with a girl, whose name remains ...

  9. MYSQL查询字段全部为中文的字段

    在实际使用mysql的过程中,会遇到这样的问题,查询字段内容全部为中文内容的数据,对于刚用mysql的小伙伴可能就比较迷失了,不知道怎么使用,其实这个问题很简单,使用下面这个sql语句就可以了 SEL ...

  10. Github命令git status

    输入git status可以告诉我们三件事: 1.你当前的本地库位于哪个分支上: 2.你当前的本地库和远程库的区别:它会提示本地库和远程库差了还是多了多少个提交(commit),并给你提建议,要不要p ...