Это выдает ошибку, возможно, из-за того, что вы не использовали аннотацию @Override над функцией run (). Вот пересмотренный код:
@Override
public void run()
{
f.display(s);
}
И, пожалуйста, не запускайте поток в конструкторе, так как это небезопасно, также вы допустили ошибку, так как это должно быть t.start (), а не f.start (), аналогичные изменения в run () должны относиться к f.display (s), а не к t.display (s).
Изменения:
@Override
public void run()
{
f.display(s);
}
И:
t=new Thread(this);
t.start();
Запомните ваши переменные, потому что это вызовет такие проблемы! Теперь программа должна работать без ошибок!