当前位置:首页 » 编程语言 » 匿名对象java

匿名对象java

发布时间: 2022-05-27 15:41:47

‘壹’ java中字符串也是个匿名对象(新手求解释)

1,匿名对象是没有名字的对象,直接new出来的,比如new Demo();
2,字符串比较特殊,java每一个字符都是String类的对象,虽然你没有创建实例,但是确能调用方法,
3,比如,String s = “hello”;s.isEmpty();这里就没有创建对象,却可以调用方法,

‘贰’ Java中,匿名对象使用场景:

1:当对方法只进行一次调用的时候,可以使用匿名对象。

2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。

‘叁’ JAVA里什么是匿名对象

匿名类?就是没有指定名称的类,匿名内部类有利于编写事件处理程序。

写了个简单的小程序,希望对你有所帮助
import java.awt.*;
import java.awt.event.*;

class Test extends Frame
{
public Test()
{
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setSize(300,300);
setVisible(true);
}
public static void main(String args[])
{
new Test();
}
};

点击右上边关闭按钮,会关闭窗体,用内部类实现的

‘肆’ java当中如何区分匿名对象和匿名类

下面给你具体介绍一下匿名对象和匿名类:

一、匿名对象

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

匿名对象的特征:

  • 创建的匿名类的对象只能够调用一次

  • 匿名对象只在堆内存中开辟空间,而不存在栈内存的引用

  • 每次创建匿名对象都是不同的对象

二、匿名类

匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。匿名类相当于在定义类的同时再新建这个类的实例

定义匿名内部类的格式如下:

new 父类构造器(参数列表)|实现接口()
{
//匿名内部类的类体部分
}

匿名类特点:

  • 它必须继承一个类或者实现一个接口,而不能显示的使用extends或者implements,没有父类。

  • 匿名类没有构造方法。通过new<父类名> 创建对象,匿名类定义与创建对象是同时进行的。

  • 匿名类只能一次性的创建,并有父类句柄持有。

  • 匿名类不需要初始化,只有默认的构造方法

三、匿名对象和匿名类区别

1.匿名对象还是一个对象,它必须有已经写好的成员变量、属性、方法

2.匿名类,在声明它的对象的时候,才对它进行代码的构造(封装它的成员变量、属性、方法等)

3.匿名对象:一个对象只需要使用一次的时候,通常使用匿名对象

4.匿名类:比如我们需要一个监听类,并且在实例化这个监听类的时候才需要实现这个监听类内部的方法,那么使用匿名类就最方便了

‘伍’ java中匿名对象是什么东西怎样理解匿名对象什么时候用

比如我要保存一个用户对象
User{
public int id;

public String name;

}

save(对象User)

一般情况就是
User user1 = new User();
user1.id = 1;
user1.name="name";
save(user1);

但这个user1只是在save前使用,之后就没用了,那么就可以这样
save(new User(1,"name");
这样直接保存,不用创建user1
没有名字

‘陆’ Java中匿名对象是什么意思啊

匿名对象使用方法一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。

如果对一个对象进行多个成员的调用,就必须给这个对象起个名字。

匿名对象使用方法二:可以将匿名对象作为实际参数进行传递。

如下代码所示:

classPerson{
privateStringname;
privateintage;
publicPerson(){
}
publicPerson(Stringname){
this.name=name;
}
publicPerson(Stringname,intage){
this.setName(name);
this.setAge(age);
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetName(){
returnthis.name;
}
publicvoidsetAge(intage){
if(age>0&&age<140){
this.age=age;
}
}
publicintgetAge(){
returnthis.age;
}
publicvoidtell(){
System.out.println("姓名:"+this.getName()+",年龄:"+this.getAge());
}
}
publicclassTest{
publicstaticvoidmain(Stringargs[]){
newPerson("张三",46).tell();//通过匿名对象调用方法
}
}

‘柒’ java中匿名对象的好处

先要知道对象可以用来干什么?起码可以传来传去,用于多个类的交互使用。而匿名对象就不用,这种方式说明只要我用就只能用一次,不能重复使用。可以理解为专属对象(不知道这种说法是否正确)。

‘捌’ java中什么是匿名对象谢谢!

普通申明一个对象是这样的
A a = new A();
那么这个时候a就是类A的一个对象,这个对象名字就是a
再来看下面一个例子:
method(A a);
整理method是一个方法,他需要传递一个对象来作为参数,那么这个时候有2种方法:
方法1:
A a =new A();
method (a);
方法2:
method (new A());

方法2中new A()就是一个匿名对象,他没有名字。这样可以理解了吧。

热点内容
编程vlb 发布:2025-02-12 13:33:17 浏览:783
电脑出现无法解析服务器的dns对策 发布:2025-02-12 13:29:12 浏览:158
硬盘的存储空间是以簇为单位 发布:2025-02-12 13:26:06 浏览:356
我的帐号密码是什么 发布:2025-02-12 13:24:37 浏览:281
网页版传奇源码下载 发布:2025-02-12 13:23:48 浏览:828
模型预估算法 发布:2025-02-12 13:09:46 浏览:708
武汉存储 发布:2025-02-12 13:09:43 浏览:204
国内外密码箱锁哪里有卖 发布:2025-02-12 13:02:47 浏览:237
杰杰脚本 发布:2025-02-12 13:02:07 浏览:35
uc高级编程 发布:2025-02-12 13:01:57 浏览:788