Outra (certificacao)

[code]
class MyThread extends Thread
{
public void run()
{
System.out.println("MyThread: run()");
}

public void start()
{
System.out.println("MyThread: start()");
}
}

class MyRunnable implements Runnable
{
public void run()
{
System.out.println("MyRunnable: run()");
}

public void start()
{
System.out.println("MyRunnable: start()");
}
}

public class MyTest
{
public static void main(String args[])
{
MyThread myThread = new MyThread();
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
myThread.start();
thread.start();
}
}[/code]

MyThread: start()
MyRunnable: run()

A Classe MyThread sobrescreve o método start() que normalmente seria responsável por chamar o método run() (que neste caso não chama).

A classe MyRunnable cria seu próprio método start() mas que não faz diferença porque quem chama o método run() é a classe Thread (pelo seu método start()).