Java em Concurso Público

28 respostas
D

A questão abaixo é do concurso público do Tribunal Regional do Trabalho.

  1. Analise as sentenças seguintes com relação à linguagem de programação Java:

I- O método construtor tem o mesmo nome da classe
onde ele está e é executado automaticamente cada
vez que se cria um objeto dessa classe. Ele nunca
retorna nada, devendo ser colocado a palavra
reservada void antes de seu nome.

II- Um programa que define uma classe que não seja
uma applet na realidade não executa nada.

III- Em Javapode-se ter dois métodos como mesmo
nome e conforme esse nome é invocado,um dos
dois métodos é executado. Isso em Orientação
Objeto é conhecido como classes abstratas.

A) II e III são verdadeiras e a I é falsa;

B) I é verdadeira e a II e III são falsas;

C) II é verdadeira e a I e III são falsas;

D) III é verdadeira e a I e II são falsas;

E) I e II são verdadeiras e a III é falsa.

Qual é a resposta? :slight_smile:
Pelo gabarito diz que é alternativa C.

Eu acho que todas alternativas estão falsas (eu não fiz essa prova).
Alguém entrou com recurso e ele foi indefirido. Veja a justificativa:

JUSTIFICATIVA
De acordo com o livro Java programação na Internet, na pagina 41 seu autor afirma que um programa que define uma classe que não seja uma applet na realidade não executa nada.
Um programa só pode ser uma aplicação ou uma applet. Logo como não é uma applet trata-se de um programa, porém o programa apenas define uma classe e não invoca a classe. Portanto a resposta da sentença II está correta.

Veja se pode?
Alguém aceita essa “justificativa”? :wink:

28 Respostas

H

Acho que o erro é que o autor desse livro é um cara que não pensa no java fora de applets,pra ele tudo que é java é applet.Acho que o autor esta desatualizado e eu concordo contigo,3 AFIRMATIVAS SÂO FALSAS!

duardor

Pq a I está errada?

TedLoprao

Não vai void no construtor!!

maresp

devendo ser colocado a palavra
reservada void antes de seu nome.

Construtores não possuem tipo de retorno.

FernandoMartines

Amigos,

Julgo que a afirmação da prova gera uma certa controversia depedendo do universo na qual ela pode ser vista. Exponho meu ponto de vista, vejam:

“Um programa que define uma classe que não seja
uma applet na realidade não executa nada.”

Esta afirmação não está errada, porém também não está totalmente correta.
Aos linguísticos de plantão: não-errado necessariamente não representa algo plenamente correto.

A applet só executa algo num contexto bem definido: browsers ou qualquer outro software que os interprete. Nexte contexto, se uma classe top-level não for declarada como applet realmente não executa nada.

Porém, para explanar melhor minha opinião, cito o exemplo dos servlets. É uma situação similar a dos applets. Ela é executa por software específico - os containers web, tais como Tomcat, JRun etc. - e não são Applets…

Isso sem citar os portlets e situações do gênero…

E aí? :shock:

Como não podemos fazer este tipo de observação na prova, muito menos buscar saber qual é o universo considerado na questão, julgaria a afirmação II como ERRADA. 8)

pcalcado

Fernando,

A questão fala em programas, classes e applets. Um programa pode não ser um applet, e nãod eclarar um applet não significa que não se declara uma classe java normal com um método main.

A questão esta errada, as 3 são incorretas.

[]s

TedLoprao

FernandoMartines:
Esta afirmação não está errada, porém também não está totalmente correta.
Aos linguísticos de plantão: não-errado necessariamente não representa algo plenamente correto.

:?: :?: :?:

Não entendi, pq a afirmação não está errada??? :shock:

smota

Hummmm … por esse prisma é que o negócio tá errado mesmo!!!

Do mesmo modo que uma classe qualquer nao executada nada o applet tb nao é auto-executável … entao na linha de comando vc chama a JVM com a classe que contenha o main e no applet vc monta o HTML que vai inicializar a JVM que entao executara o applet, deu na mesma pra mim … entao as 3 sao FALSAS.

Ah … O que significa uma classe top-level pra voce? Um JFrame? ou uma classe com o main?!?

FernandoMartines

Amigos.

Acho que não fui muito claro na minha opinião. Deixe-me explicar: Eu concordo que as três alternativas estejam erradas desde que o contexto considerado seja amplo. Se vc reduzir o universo de abrangência e considerar que somente são considerados programas aqueles cuja VM consegue executar no contexto do browser, a afirmação fica correta, afinal, não conheço outra forma de executar um aplicativo (neste caso um applet) dentro de um browser sem que ele extenda um applet e implemente os métodos do ciclo de vida de um applet.

Mas como todos aqui estão considerando o geral, concordo que as três tornam-se inválidas.

Espero ter sido mais objetivo :slight_smile:

FernandoMartines

Ah…

Só um último adendo… Uma classe top-level pra mim é aquela que só pode receber um destes três modificadores: public, abstract ou final e ainda é aquela cuja identificação deve obrigatoriamente coincidir com o nome do arquivo .java. Desta forma, há como se definir apenas uma classe top-level por arquivo .java.

Se me lembro bem deve ser isso, complementem caso tenha falhado.

pcalcado

Acho que você quis dizer que a classe deve ser pública. final e abstract é outro papo.

[]s

TedLoprao

FernandoMartines:
Mas como todos aqui estão considerando o geral, concordo que as três tornam-se inválidas.

Não é uma questão de considerar ou não, de uma olhada no enunciado:

Não existe nada falando em browser ou algo parecido, fala-se apenas da linguagem Java em geral…

FernandoMartines

Realmente faltou esta especificação, Rodrigo.

Conforme eu disse, também a considero errada ou pelo menos incompleta. Talvez o redator das perguntas não tenha sido tão feliz quanto queria.

Eu afirmo isso porque vi que esta questão foi embasada num livro citado acima e o livro compreende Java para Internet. Não sei o teor da prova mas de repente o tema estaria voltado para applets apenas. Sendo assim, a resposta poderia não estar totalmente errada, concorda?

Por isso que falo, depende do contexto… Se o começo da prova impor: “As questões abaixo estão restritamente relacionadas ao conceito de applets, responda:
I - Pode-se executar um programa Java sem que o mesmo extenda a interface Applet?”

A resposta seria SIM ou NÃO?

FernandoMartines

Retificando:

“Pode-se executar um programa Java sem que o mesmo extenda a interface Applet?”

“Pode-se executar um programa Java sem que o mesmo extenda a classe (e não a interface) Applet?”

maresp

A única coisa que consigo concluir é que o cara que elaborou a prova não era capacitado para tal, pq se fosse ele não teria escrito uma bobagem destas.

danieldestro

Podíamos informar o organizador para invalidarem a questão… hehehehehehheheheh.

Ironlynx

Podíamos “invalidar” o organizador dessa questão… :twisted:
Quem deixasse em branco acertaria!!! :lol:

D

Tentaram invalidar a questão com recurso. Mas não foi aceito, e os responsáveis pelo concurso informaram o motivo, como pode ser visto na primeira mensagem.

danieldestro

Fora que a “justificativa” mostra a TOTAL ignorância desse pessoa.

Rubem_Azenha

aff… essa prova foi feita em escala nacional ou em um lugar determinado?

D

Concurso realizado pela Trade Census para provimento de vagas no Acre e Rondônia.

iSoron

Dá pra perceber que o criador da questão só conhece as applets.
Aliás, olhem o livro citado por ele: “Java programação na Internet”. Esse livro é restrito, como o titulo sugere. Por que ele não citou uma referencia da própria Sun? Ele ia ficar doido, mas não ia achar nada que comprovasse essa justificativa furada.

E vocês viram como ele copiou a frase exata do livro?
Pra mim, esse cara é um incompetente e não merece o lugar que está ocupando.

[]'s
iSoron.

danieldestro

Por que não escrevem no email do “Fale Conosco” do site deles?
Afinal, seria uma crítica construtiva.

http://www.tradecensus.com.br/contato.asp

N

II- Um programa que define uma classe que não seja
uma applet na realidade não executa nada.

Porra, brincadeira !!!
Se essa afirmativa for verdadeira, eu viro vascaíno, meu !!!

Rubem_Azenha

Dharis:

Concurso realizado pela Trade Census para provimento de vagas no Acre e Rondônia.

bah, tinha que ser no fim do mundo mesmo…

cv1

microfilo:
Dharis:

Concurso realizado pela Trade Census para provimento de vagas no Acre e Rondônia.

bah, tinha que ser no fim do mundo mesmo…

Pra quem mora no Acre, Campinas eh o fim do mundo. Entao, pode parar, pedir desculpas, dar o dedinho e parar de ser cruel com os seus amiguinhos.

N

talvez no fim do mundo, tenha se salários melhores do que os da sua cidade, viu cabeção !!!
Tome cuidado com algumas declarações !!!

Rubem_Azenha

eita… pessoal estressado… :lol:

Criado 22 de dezembro de 2004
Ultima resposta 29 de dez. de 2004
Respostas 28
Participantes 14