Java如何创建没有名称的类对象
这是一个非常简单的问题,但我想知道如何创建没有名称的类的对象。例如,如果我有一个类“Zombie”,我如何创建一个新的类而不每次分配一个新名称(例如,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 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();