Рассмотрим следующий код:NullPointer Exception и Темы
class Chicks {
synchronized void yack(long id) {
for(int x = 1; x < 3; x++) {
System.out.print(id + " ");
Thread.yield();
}
}
}
public class ChicksYack implements Runnable {
Chicks c; //.....(1)
public static void main(String[] args) {
new ChicksYack().go();
}
void go() {
c = new Chicks(); //........(2)
new Thread(new ChicksYack()).start();
new Thread(new ChicksYack()).start();
}
public void run() {
c.yack(Thread.currentThread().getId());
}
}
Когда я запускаю этот код, я получаю исключение нулевого указателя, что я не инициализирована переменной с. Но я не инициализировал его на линии .... (2)? У меня возникли проблемы с получением этой концепции. В этом исключении есть часть, которая играет роль в этом исключении?
Какая линия дает NPE? –