Вы можете иметь поле экземпляра в вашем main2
классе:
public class main2 implements Runnable {
private int id;
public main2(int id) {
this.id = id;
}
@Override
public void run() {
System.out.println("ID in the run: " + this.id);
}
...
Но так как все это в одном классе, вы можете просто использовать лямбда-выражение, которое имеет доступ к локальной переменнойметод main
, который также устраняет необходимость в экземпляре main2
:
public static void main(String args[]) throws InterruptedException {
int id = 5;
System.out.println("ID in the main: " + id);
Thread[] threads = new Thread[1];
threads[0] = new Thread(() -> System.out.println("ID in the run: " + id));
threads[0].start();
}