Java如何创建没有名称的类对象

Java如何创建没有名称的类对象,java,new-operator,Java,New Operator,这是一个非常简单的问题,但我想知道如何创建没有名称的类的对象。例如,如果我有一个类“Zombie”,我如何创建一个新的类而不每次分配一个新名称(例如,Zombie Zombie 1=new Zombie();)新建Zombie()将创建一个新的Zombie实例。但是,如果不想,则不必将其分配给局部变量或数据成员。例如,您可以将这些僵尸累积到一个集合中: List<Zombie> undeadLegion = new LinkedList<>(); for (int i =

这是一个非常简单的问题,但我想知道如何创建没有名称的类的对象。例如,如果我有一个类“Zombie”,我如何创建一个新的类而不每次分配一个新名称(例如,
Zombie Zombie 1=new Zombie();

新建Zombie()
将创建一个新的Zombie实例。但是,如果不想,则不必将其分配给局部变量或数据成员。例如,您可以将这些僵尸累积到一个集合中:

List<Zombie> undeadLegion = new LinkedList<>();
for (int i = 0; i < 1000; ++i) {
    undeadLegion.add(new Zombie());
}
List undeadLegion=newlinkedlist();
对于(int i=0;i<1000;++i){
添加(新僵尸());
}

如果要将新对象传递给方法等,可以只使用构造函数调用(
newzombie()
)而不将其分配给变量

例如,如果有一个名为
doThingsWithZombie()
的方法接受一个
Zombie
对象,则可以执行以下操作:

doThingsWithZombie(new Zombie());
您还可以将新对象添加到列表中:

LinkedList<Zombie> zombieList = new LinkedList<Zombie>();
zombieList.add(new Zombie()); // Add a zombie
zombieList.add(new Zombie()); // Add a zombie
zombieList.get(0) // Gets the first zombie
LinkedList僵尸列表=新建LinkedList();
僵尸列表。添加(新僵尸());//添加僵尸
僵尸列表。添加(新僵尸());//添加僵尸
zombieList.get(0)//获取第一个僵尸

对象没有名称。无法为对象指定名称,也无法在运行时找到它(借助调试信息的帮助)

您可能的意思是,如何避免声明对对象的命名引用

将引用用作表达式的最简单方法如下

System.out.println(new Zombie());

对象没有名称。变量有名称。您不必将
new
的结果存储到变量中:例如,您可以直接将其作为参数传递,也可以将其丢弃。

您指的是:数据与标识符的关联

绑定最常见的用途是确定变量的范围。绑定数据由语言保证存在(比如“范围内”)。在Java中,情况并非如此:在垃圾收集之前,堆上可能仍然存在未绑定的数据。但是,无法访问此数据,因为您无法识别它(缺少涉及垃圾收集器的深层魔法)

只需编写
newzombie()
,即可创建未绑定的数据。你不必给它一个特定的名字;它可以是(命名)数组的未命名成员:

在这里,
newzombie()
根本不在
a
中命名——但一旦它被传递到
b
,它就被绑定到
z

最后,您可以创建一个对象而不使用它:

new Zombie();

除非它的构造函数在某处存储对自身的引用,否则它将立即无法访问。但是,诸如打印到控制台等副作用仍然可见。

是否需要数据结构来保存对这些对象的引用?如果这些对象没有名称,您将如何引用它们?+!对于描述性变量名称…:)
void a()
{
    b(new Zombie());
}

void b(Zombie z)
{
}
new Zombie();