Я пытаюсь реализовать простой класс, подобный этому:
public static void main(String args[])
{
try
{
myClass test = new Thread(new myClass(stuff));
test.start();
test.join();
}
catch (Throwable t) { }
}
Когда я пытаюсь включить метод print () в myClass и использую его, я получаю «не могу найти символ» в классе java.lang.Thread. На самом деле мне не обязательно делать это, но я бы хотел просто проверить это. Должен ли я изменить его, если я хочу, чтобы мой метод print () работал?
РЕДАКТИРОВАТЬ: я извиняюсь, я только что понял, что я могу вызвать print () внутри функции run () lol. Почему я не могу позвонить на улицу, хотя? Это не имеет смысла для меня. Если я добавлю синхронизированный или что-то еще, я могу вызвать функцию за пределами выполнения / класса?
РЕДАКТИРОВАТЬ2: Извините, что я неправильно написал здесь имена.
РЕДАКТИРОВАТЬ3: В настоящее время я делаю это:
Thread test = new Thread(new myClass(stuff));
teste.start();
teste.join();
Если я использую новый Runner, кажется, я не могу использовать start () и join (). Есть ли способ сделать это?
РЕДАКТИРОВАТЬ4: Хорошо, давайте попробуем еще раз, пожалуйста:
У меня есть myEnvironment, который является классом, и у меня есть myAgent, который является другим классом. myAgent - это тема. myAgent требует myEnvironment, поэтому я передавал его в качестве параметра конструктору. Однако я не смог сделать это, расширив Thread, потому что конструктор (myEnvironment) не был найден. Нужно ли устанавливать myEnvironment с помощью другой функции или я могу передать его с помощью конструктора?