将参数传递给对象数组

passing an parameter to an array of objects

我创建了一个这样的对象数组:

Handler handlers[] = new Handler[4];

每个处理程序对象都接受一个套接字对象作为参数。我如何通过处理程序的套接字?我想更一般地说,我如何传递对象数组中的参数?

我试过这个:

handlers[1](someSocket);

而且它(显然?)没有用。

这个

Handler handlers[] = new Handler[4];

为 4 个 Handler 实例分配空间,它不分配任何实际的 Handler(s)。你可以做类似的事情,

Handler[] handlers = new Handler[4];
for (int i = 0; i < handlers.length; i++) {
  handlers[i] = new Handler();
}

甚至

Handler[] handlers = new Handler[] {
  new Handler(), new Handler(), new Handler(), new Handler()
};

遍历数组中的每个元素。创建一个新的处理程序,将套接字传递给它,并将其存储在数组中,如下所示:

Handler handlers[] = new Handler[4];
for(int index=0;index<4;index++){
    handlers[index]= new Handler(socket);
}