[quote=fabiocsi]No Javadoc da classe Thread diz que o run():
Specified by:
run in interface Runnable
Quer dizer entao que se meu JFrame implementa a interface ActionListener, posso entao dizer que meu JFrame é quem ‘define’ o método actionPerformed()?
[/quote]
Specified (especificado, que dita a especificação) e Defined (definido, que dita a definição) são coisas diferentes, por isso temos classes e interfaces
Interfaces especificam. Elas ditam as regras que têm que ser cumpridas, mas não ditam como. Quando Runnable especifica run() ela não diz o que tem que acontecer lá dentro.
Classes definem. Elas não só ditam as regras que têm que ser cumpridas mas tb como elas são cumpridas. Quando Thread define run() ela diz o que acontece. Mais do que isso, acontece de uma única forma ( dai o definir : dar definição, contorno, distinguir de outros).
Quando o seu JFrame implementa ActionListener ele está definindo um comportamento para a especificação dada por ActionListener. Então, sim, neste ponto de vista JFrame sim define actionPerformed().
Veja por outro lado. String e StringBuffer já existiam quando CharSequence por foi introduzido. Hastable já existia quando Map foi introduzido. Seria então correto dizer que CharSequence define length() se String tinha primeiro ? o que que Map define put() se Hashtable usava antes dele ?
Concerteza não.
String definiu como length() é CharSequence só especifica que esse método (+ alguns outros) são suficiente para caracterizar uma seqüência de caracteres. Ele não define o que length() faz. Apenas especifica o que se espera de length(). O fato desta especificação ser retrocompativel com String não tem a ver com definir ou especificar mas com ser coerente, ver padrões , abstrair capacidades.
Mas eu concordo consigo, a pergunta não é clara e é enganadora. Qualquer um que remover wait() e notifiy() (que não são definidas originalmente por Thread) desacartará run() já que a diferença entre definir e especificar não é explicada em detalhe para que a pergunta faça sentido de forma a levar à resposta esperada.
Ainda bem que não é mais a Kathy que faz os exames … :roll: