2015-04-24 2 views
0

Я новичок в программировании в java, и я надеюсь, что выбрал правильный заголовок. Первый мой код:Измените параметры по методу

public class main 
{ 

    public static void main(String args[]) 
    { 

     SysOutSleep sos = new SysOutSleep("Test", 450, 3);//set the value 

     Thread t = new Thread(sos); 

     t.start(); 

     //here i want to change the parameters from sos 
     //they should be something like that ("Test2", 390, 1) 

     //and after that i start the thread again with the new parameters 

     t.start(); 
    } 

} 

Так как я могу изменить их, спасибо заранее :)

+0

Что такое 'SysOutSleep'? (Кроме того, я думаю, вы имеете в виду, что хотите изменить * аргументы *. * Параметры * - это типы, которые принимает метод, * аргументы * - это значения, которые мы передаем им.) – Radiodef

+0

Не 100% уверены, что вы хотите, вопрос очень расплывчато! Вы изменяете параметры, используя переменные (в общем, как вы должны это делать). – Roger

+0

Вы не можете «запустить» поток дважды. Является ли это программой Java? – CKing

ответ

3

Вы не можете запустить тот же isntance Thread дважды, а это значит, что вам придется создать новый тема:

SysOutSleep sos = new SysOutSleep("Test", 450, 3); 
Thread t = new Thread(sos); 
t.start(); 

sos = new SysOutSleep("Test2", 390, 1); 
t = new Thread(sos); 
t.start(); 
1

Если вы хотите использовать другие параметры в том же методе, то вам просто нужно изменить значение в

SysOutSleep sos = new SysOutSleep("Test", 450, 3);//set the value 

к

SysOutSleep sos = new SysOutSleep("Test2", 390, 1); 

И если вы хотите, как метод, который будет выполняться с обоих случаях и с помощью двух различных потоков, то вам придется создать две темы.

SysOutSleep sos1 = new SysOutSleep("Test", 450, 3); // create object of SysOutSleep class and invoke constructor of SysOutSleep class with the given parameters 
Thread t1 = new Thread(sos); // create thread for sos1 object and starts thread 
t1.start(); // after start thread it will run the run method of thread 

sos2 = new SysOutSleep("Test2", 390, 1); 
Thread t2 = new Thread(sos); 
t2.start(); 
+0

Что такое 't2'? Java строго типизирована. – CKing

+0

Его нить я обновил ответ. – kirti

+1

Хорошо. Хотя ваш ответ неверен в истинном смысле, у него есть некоторые недостатки. 1) Код плохо отформатирован. 2) Вы не объясните, почему вы создали второй поток ?. 3) Что вы на самом деле имеете в виду под 'Если вы просто хотите использовать другие параметры в одном методе, вам просто нужно изменить значения в'? .. Просто некоторые советы по получению прибыли от ваших инвестиций времени. Поскольку ответ стоит в настоящее время, я не вижу никаких шансов на то, чтобы его поддержали. – CKing

Смежные вопросы