zoukankan      html  css  js  c++  java
  • JAVA_SE基础——27.匿名对象

    黑马程序员入学blog...


    匿名对象:没有引用类型变量指向的对象称作为匿名对象。


    匿名对象要注意的事项:
    1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。
    2. 两个匿名对象永远都不可能是同一个对象。


    匿名对象好处: 简化书写。

    对象执行完后  尽快的让垃圾回收器回收这个没有用处的对象 节省了内存空间



    匿名对象的应用场景:
    1. 如果一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用
    匿名对象。

    2. 可以作为实参调用一个函数


    下面带个例子:

    需求: 使用java类描述一个学生类,并调用study方法。

    //学生类
    class Student{
    	
    	int num; //学号
    
    	String name; //名字
    	
    	public void study(){
    		System.out.println("好好学习,为将来称为高帅富做准备!");
    	}
    }
    
    class Demo4{
    
    	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();//这个对象的话  假如下面还有代码要执行  这new出来的对象就一直存在 要等main方法执行完后才会被垃圾回收器回收 
    		s.study();		//所以一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用匿名对象
    		
    		new Student().study();//这行代码使用了匿名对象调用了study方法  简化了书写 而且让对象尽快的让垃圾回收器回收
    
    	}
    }

    老师说了 匿名对象在以后开发用的机会挺多的 所以同学们要掌握好哦  

      

  • 相关阅读:
    J2ME学习笔记之问题看法
    单词王(kingWord)
    TCP的粘包和拆包问题及解决办法(C#)
    vuex里mapState,mapGetters使用详解
    agelform formcreate 使 elementui form 组件更简单
    elementui 二次封装系列 button
    开源一套后台管理系统框架,远离996 记录
    客户端架构介绍
    简单的Unity学习项目,封装了一下简单、通用功能组件,适用于数据可视化展示
    Vue关于对象数组的双向数据绑定(props与watch)
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465317.html
Copyright © 2011-2022 走看看