Questão Classes Internas

6 respostas
diego2005

Pessoal, a questão a seguir é sobre Classes Aninhadas Estáticas, se alguém puder responder e me explicar o pq da resposta:

Duas das declarações abaixo são verdadeiras com relação à classe aninhada estática. Quais?

A. Você precisa ter uma referência à instância da classe encapsuladora para instanciá-la.

B. Ela não tem acesso a membros não-estáticos da classe encapsuladora.

C. Suas variáveis e métodos devem ser estáticos.

D. Ela deve estender a classe encapsuladora.

Sei que uma das respostas é a letra B, mas a outra não sei.

Esse é o capitulo 8 do livro da Kathi, até o capitulo 6 eu acho que estava iindo razoavelmente bem, estava acertando em média 70% dos simulados (simulados do livro msm), ai chegou no capítulo 7 (conjuntos) eu fui muito mau, acertei apenas 40%, e agora no 8 (classes internas) apenas 50%, o próximo e último é sobre Threads, e já tenho a consciência que também será difícil.

Já vi muitos tópios falando que Threads é um dos assuntos que mais cai no exame.

Gostaria de saber de quem já fez a prova se Conjuntos e Classes Internas também tem muitas questões, pois na minha opinião são os capítulos mais difíceis, é claro, junto com o de Threads.

Agradeço a ajuda de todos…

Valeu.

6 Respostas

LPJava

ate agora pelos meus poucos conhecimentos ainda basicos lendo deitel eu responderia a outra pergunta letra D.

A

Cara, vc não digitou nada errado aí não? A única verdadeira aí que eu vejo é a B mesma…

Da uma olhada aqui… isso compila 100%

public class Ble{
    private static class Foo{
        private int i;
        public void doFoo(){
        }
    } 
    public static void main(String[] args){
    	  Ble.Foo bf = new Ble.Foo();
    }
}

A- Ble.Foo é istanciada sem uma instancia de Ble
C - Ble.Foo tem variavel e metodo nao estatico
D - Ble.Foo nao estende Ble.

Foo na

diego2005

Pois é cara, eu também só consegui ver a B como correta, não digitei nada errado, ta certinho a questão.

O Camilo falou que a D também é correta, mas o seu exemplo está correto, e a classe interna não estende a externa.

Mais alguém acha que a D está correta?? Se achar, me explique o por que.

Valeu pela ajuda…

diego2005

Cara, você não vai acreditar, acabei de consultar o livro em inglês, e sabe o que descobri??? Um erro GROTESCO de tradução, a questão original possui CINCO alternativas:

Which two are true about a static nested class?

A. You must have a reference to an instance of the enclosing class in order to instantiate it.
B. It does not have access to nonstatic members of the enclosing class.
C. Its variables and methods must be static.
D. It can be instantiated using new MyOuter.MyInner();.
E. It must extend the enclosing class.

E realmente as respostas corretas são a B e a D. Já a questão traduzida (horrivelmente traduzida) possui apenas QUATRO alternativas:

Duas das declarações abaixo são verdadeiras com relação à classe aninhada estática. Quais?

A. Você precisa ter uma referência à instância da classe encapsuladora para instanciá-la.
B. Ela não tem acesso a membros não-estáticos da classe encapsuladora.
C. Suas variáveis e métodos devem ser estáticos.
D. Ela deve estender a classe encapsuladora.

Isso comprova mais uma vez que os livros da Alta Books são horriveis.

Tem até um tópico que o pessoal está debatendo sobre isso.

Mesmo assim agradeço pela boa vontade de vocês…

LPJava

ae parceiro diego ta correta mesma a sua resposta B e D, fico reliz acertei uma das resposta uhauhua , to aprendendo as ideias aos pouco uhsuh um dia faço a certified!! :stuck_out_tongue:

A

Hehhe
eu já sou. Fiz noventa e poucos por cento pra 1.5. Estudei pra 1.4 e fiz 1.5. Usei os livros da Kathy (o da certificacao pra 1.4 e o heads first java)

Criado 13 de julho de 2006
Ultima resposta 14 de jul. de 2006
Respostas 6
Participantes 3