Questão TestKiller

2 respostas
luistiagos
public class Starter extends Thread {
 private int x= 2;
 
 public static void main(String[] args) throws Exception {
	 new Starter().makeItSo();
 }
 
 public Starter() {
  x=5;
  start();
 }
 
 public void makeItSo() throws Exception {
   join();
   x=x- 1;
   System.out.println(x);
 }
     
 public void run() { x *= 2; }
    
}

A saida é 9… so não entendi o pq…
alguem sabe?

2 Respostas

ivo_costa

Essa é fácil.

Passos:

Instancia a classe (chama o contrutor):

X recebe 5;

chama o método start da Thread;

executa o método run

x recebe 10

chama o método makeItSo
espera o método run acabar de executar
x recebe 9
pinta x

T

v

Criado 25 de agosto de 2008
Ultima resposta 25 de ago. de 2008
Respostas 2
Participantes 3