精华内容
下载资源
问答
  • Java中匿名对象

    千次阅读 多人点赞 2019-07-16 16:00:00
    匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量,如:对于已存在的Person类 创建一个普通对象 Person P = new Person(); 创建一个匿名对象 new Person(); 2、匿名对象的...

    1、匿名对象的创建

    匿名对象是指在创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量,如:对于已存在的Person类

    • 创建一个普通对象

      Person P = new Person();

    • 创建一个匿名对象

      new Person();

    2、匿名对象的特点

    • 创建匿名对象可以直接使用,没有变量名
      new Person().work();     //work 方法被一个没有名字的 Person 对象调用了
    • 匿名对象在没有指定其引用变量时,只能使用一次
      new Person().work();     //创建一个匿名对象,调用 work 方法
      new Person().work();     //想再次调用 work 方法,要重新创建一个匿名对象
    • 匿名对象可以作为方法接收的参数,方法返回值使用
    class Demo {
        public static Person getPerson(){
            //普通方式
            //Person p = new Person();	
            //return p;
    
            //匿名对象作为方法返回值
            return new Person();
        }
    
        public static void method(Person p){}
    }
    
    class Test {
        public static void main(String[] args) {
            //调用getPerson方法,得到一个Person对象
            Person person = Demo.getPerson();
    
            //调用method方法
            Demo.method(person);
            //匿名对象作为方法接收的参数
            Demo.method(new Person());
        }
    }

     

    展开全文
  • Java中为什么匿名对象中方法,调用局部变量必须加final呢,求详解。网上找了很久,基本没看到想要的答案,最好从Java虚拟机内存分配角度讲一讲,其他角度亦可。 老师只告诉这么用就好了,问了也说不知道,匿名...
  • Java中匿名对象

    千次阅读 2019-06-02 23:39:06
    这就是一个匿名对象,但是,在Java一般不这么使用,因为没有意义,因为这样写完后,由于没有对该对象进行引用,所以马上就被内存回收了,所以没有实际意义 package Test; public class Test { public static ...

    匿名对象:没有名字的对象

        new Test();
    

    这就是一个匿名对象,但是,在Java一般不这么使用,因为没有意义,因为这样写完后,由于没有对该对象进行引用,所以马上就被内存回收了,所以没有实际意义

    package Test;
    
    public class Test {
    
    	public static class Student{
    
    		public String name;
    
    		public String sex;
    
    		@Override
    		public String toString() {
    			return "Test{" +
    					"name='" + name + '\'' +
    					", sex='" + sex + '\'' +
    					'}';
    		}
    	}
    
    	public static void main(String[] args) {
    
    		new Student().name = "aile";	//匿名对象1
    		new Student().sex = "男";	//匿名对象2
    		System.out.println(new Student().toString());	//匿名对象3
    
    	}
    
    }
    
    

    在这里插入图片描述

    由执行结果我们可以看出,这三个对象并不是对一个实体进行操作的,分别是三个对象,所以才会输出空值,因为上面两个,或者说三个,由于没有被引用,所以执行完本身的那条语句后,就被回收了

    但是就是利用这个内存马上就会被回收的优点,我们可以利用他来传值,这样就可以做到节省内存

    package Test;
    
    public class Test {
    
    	public static class Student{
    
    		public String name;
    
    		public String sex;
    
    		public Student(String name, String sex) {
    			this.name = name;
    			this.sex = sex;
    		}
    
    		@Override
    		public String toString() {
    			return "Test{" +
    					"name='" + name + '\'' +
    					", sex='" + sex + '\'' +
    					'}';
    		}
    
    		public void method(Student stu)
    		{
    			System.out.println(stu);
    		}
    	}
    
    	public static void main(String[] args) {
    
    //		new Student().name = "aile";
    //		new Student().sex = "男";
    		new Student("","").method(new Student("aile","男"));	//这里将Student匿名对象传过去
    
    	}
    
    }
    
    

    在这里插入图片描述
    我们从结果可以看到,这样的传值,可以解决对Student的引用,引用时,而直接一个穿对象过去,等这个方法执行结束后,该对象直接被回收,这样即节省了内存吗,也节省了对Student先实例化,再调用,而节省了时间

    展开全文
  • Java中匿名对象 1. 什么匿名对象? 所谓匿名对象就是没有名称的对象; 2. 匿名对象有哪些常见的用法? 匿名对象可以作为实际参数传递给函数; 可以直接通过匿名对象调用该对象的方法; 3. 匿名对象的具体使用...

     

    Java中的匿名对象

    1. 什么是匿名对象?

    所谓匿名对象就是没有名称的对象;

    2. 匿名对象有哪些常见的用法?

    • 匿名对象可以作为实际参数传递给函数;
    • 可以直接通过匿名对象调用该对象的方法;

    3. 匿名对象的具体使用方式

    class Student {
    	//成员变量
     	private String name;
    	private int age;
    	
    	//构造方法
    	public Student(){}
    	
    	//成员方法
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    	public String getName() {
    		return name;
    	}
    	
    	public void setAge(int age) {
    		this.age = age;
    	}
    	
    	public int getAge() {
    		return age;
    	}
    	
    	void show() {
    		System.out.println("该学生的姓名为:" + name);
    		System.out.println("该学生的年龄为:" + age);
    	}
    	
    }
    
    class studentTest {
    	//函数的形式参数为引用类型,我们需要传递对象
     public void function(Student s) {
    		System.out.println("我爱学习,学习爱我!");
    	}
    }
    
    class noNameDemo {
    	public static void main(String args[]) {
    		//通过匿名对象调用方法
    		new Student().show();
    		//new一个studentDemo的测试类
    		studentTest sd = new studentTest();
    		//将匿名对象传递给对象sd的function方法,来调用
    		sd.function(new Student());
    		
    		//还可以通过这种方式来调用function方法
    		new studentTest().function(new Student());
    	}
    	
    }
    

     原文链接:https://www.cnblogs.com/TomHe789/p/12562518.html

    展开全文
  • 本篇文章给大家详细讲解了Java匿名对象与匿名内部类的相关知识点,有兴趣的读者一起学习下。
  • 主要介绍了Java的匿名对象定义与用法,结合实例形式分析了java匿名对象的概念、原理、定义与相关使用注意事项,需要的朋友可以参考下
  • java匿名对象

    2016-10-30 20:43:06
    匿名对象 1匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。 2匿名对象的用途 1.当对象对方法进行一次调用...不能使用匿名对象。 2。匿名对象可以实际参数进行传递。 3匿名对象的简单演示 new 

     匿名对象

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

    2匿名对象的用途

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

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

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

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

    3匿名对象的简单演示

    new Car().run(); 

    4内存

    1.new Car().num=5;

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

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

    5匿名对象的使用

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

    new Car().run();

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

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

     


    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 s = new Student();
    		s.study();
    		
    		new Student().study();
    
    	}
    }


    展开全文
  • java当中如何区分匿名对象和匿名类 有没有匿名方法这种概念 学了几个月了,感觉自己还是新手状态,很多基本概念还不是很清楚
  • java中匿名对象

    千次阅读 2019-04-09 09:28:41
    顾名思义,匿名就是没有名字的对象,创建对象时,只通过new的动作堆内存开辟空间,却没有把堆内存空间的地址值赋值给栈内存的某个变量用以存储 //有名字的对象 ...//匿名对象: new S...
  • new Thread(new Runnable() {.....省略代码若干..........}).... 上面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗 还是一个匿名类传入一个匿名对象再调用start方法 我有点分不清匿名对象和匿名类呢
  • java-学习-面对对象-匿名对象
  • java中匿名对象和匿名类都有关键词new吧 那他们应该怎么区分呢 是不是匿名类就没有方法体 匿名对象就有方法体呢 具体是如何区分的呢
  • 理解java匿名对象

    千次阅读 2018-05-28 12:43:22
    匿名对象的概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。如:已经存在的类:public class Person{ public void eat(){ System.out.println();  } } 创建一个普通对象...
  • 在JAVA中,有种叫匿名对象的东西。这个东西工作,我从来没有用到过,感觉没啥意义。 啥是匿名对象: 1、没有变量引用此对象 2、很快就会被GC垃圾回收器回收,并且时间无法控制 像这种对象,基本就是一...
  • Java匿名对象

    千次阅读 2016-01-05 21:07:54
    匿名对象要注意的事项:  1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。  2. 两个匿名对象永远都不可能是同一个对象。 匿名对象好处:简化书写。 匿名对象的应用场景:  1. 如果一个对象...
  • JAVA常用API : 匿名对象

    千次阅读 2021-04-06 23:26:23
    匿名对象 //创建一个person对象 public static class Person { String name; } public static void main(String[] args) { //一般创建对象 Person person = new Person(); person.name = "张三";
  • java中匿名对象的使用

    千次阅读 2017-04-13 17:14:29
    匿名对象:就是没有名字的对象 匿名对象的应用场景 A:调用方法,仅仅只调用一次的时候 注意:调用多次的时候,不适合 那么,这种匿名调用有什么好处吗 有,匿名对象调用之后就是垃圾,可以被...
  • java关于匿名对象和匿名内部类的使用
  • Java 匿名对象的详解

    千次阅读 2017-01-01 15:32:01
    一.匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。 二.匿名对象的用途 ...1,当对象对方法进行一次调用的时候...不能使用匿名对象。 2,匿名对象可以实际参数进行传递。 三.匿名对象的简单
  • java中关于匿名对象的一些小问题

    千次阅读 2018-05-02 18:06:56
    匿名对象:所谓匿名对象,就是没有名字的对象,就是创建对象时不起名字。如创建一个Student对象: new Student(); 这样,一个匿名对象已经创建完了。匿名对象需要注意的几个问题:1.生命周期:首先,创建一个匿名...
  • Java匿名对象的性能优势分析

    千次阅读 2019-06-02 23:40:10
    Java匿名对象的性能优势分析1. 匿名对象2. Java创建对象的过程3. 性能差异存储上的性能差异垃圾回收上的差异4. 继续 今天思考了一下java使用匿名方式创建对象和普通的句柄方式对java传递对象的性能进行了一点简单...
  • java匿名对象的用法

    万次阅读 多人点赞 2016-11-23 08:24:45
    匿名对象:没有名字的对象: new Car(); //匿名对象其实就是定义对象的简写格式。 Car c = new Car(); c.run(); 用匿名对象来书写以上代码: new Car().run(); 匿名对象的使用方法: 1 当对象对方法仅进行一次...
  • java匿名对象的用法

    千次阅读 2017-12-07 17:14:41
    匿名对象:没有名字的对象: new Car(); //匿名对象其实就是定义对象的简写格式。 Car c = new Car(); c.run(); 用匿名对象来书写以上代码: new Car().run(); 匿名对象的使用方法: ...
  • java匿名对象使用情况详解

    千次阅读 2019-02-21 10:03:09
    匿名对象是指没有名字的对象 匿名对象使用方式之一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。 package ObjectOriented; public class Car { private int num; private String ...
  • java匿名对象的使用

    千次阅读 2018-10-10 23:38:31
    java匿名类对象的的使用 ...1.创建的时候只jvm的堆空间新建了对象,并进行初始化,但栈空间没有一个变量名指向匿名对象。 2. jvm垃圾回收机制发现堆空间的对象,没有一个引用指向他,就给回收内存...
  • new 方法1.方法2=(new 方法1).方法2=对象1.方法2=对象2,这个对象2是匿名对象,这么理解对吗
  • java中匿名类作为一个方法的参数的时候是不是默认返回一个匿名对象 比如用监听方法当中作为参数的时候

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,086
精华内容 65,234
关键字:

在java中什么是匿名对象

java 订阅