I'm trying to create a simple array of some Worker extends Thread
class.
I declared a Vector<Worker>
then tried to .add(...)
elements to it.
I keep getting compilation errors. Here is my code:
import java.util.Vector;
public class Main
{
class Worker extends Thread
{
private final int serial;
Worker(int serial) { this.serial=serial; }
public void run() { System.out.printf("Worker %d\n",this.serial); }
}
static public void main(String argv[]) {
int i=0; Vector<Worker> workers;
for (i=0;i<10;i++) { workers.add(new Worker(i)); }
for (i=0;i<10;i++) { workers[i].start(); }
for (i=0;i<10;i++) { workers[i].join(); }
}
}
Here is my compilation line:
$ javac -d . Main.java
And here are my errors:
Main.java:12: error: non-static variable this cannot be referenced from a static context
for (i=0;i<10;i++) { workers.add(new Worker(i)); }
^
Main.java:13: error: array required, but Vector<Main.Worker> found
for (i=0;i<10;i++) { workers[i].start(); }
^
Main.java:14: error: array required, but Vector<Main.Worker> found
for (i=0;i<10;i++) { workers[i].join(); }
^