Questão sobre modificadores de classe

3 respostas
Grinvon

Eu criei essa questão, acho ela interessante, pois analiza bem as relações de modificadores de classe.

Marque VERDADEIRO ou FALSO e justifique:

  1. Em uma classe padrão. Somente pode-se acessá-la usando a palavra reservada import. Mesmo ela pertecendo a outro pacote( )

  2. Pode-se criar instâncias de classes padrões em classes públicas. Desde que estejam no mesmo pacote( )

  3. Duas classes padrões em um pacote, uma pode tenta acessar a outra usando import ( )

  4. Uma classe final só permite criar instância dela se só estiverem no mesmo pacote ( )

  5. public abstract final Arquivo() { … }, é perfeitamente normal ( )

  6. Se duas classes padrão estiverem no mesmo pacote, eles tem acesso livre, uma com a outra, sem precisar criar instâncias ou herança.


Depois postarei minha resposta. :slight_smile:

3 Respostas

Rafael_Nunes

1 - F : Classes com modificadores “padrão” somente podem ser acessadas por classes do mesmo pacote.

2 - V : A classe com modificador padrão, pode ser acessada por classes do mesmo pacote, públicas ou não.

3 - V : Classes com modificador padrão, são visíveis para classes do mesmo pacote, sendo possível sua importação.

4 - ? : Depende, ela é “public”, ou padrão?

5 - F : Um componente não pode ser abstract e final ao mesmo tempo. Ou seja, abstract torna obrigatório seu “override”, quanto final, proibe-o.

6 - F : Se for utilizar seus componentes é necessário criar uma instância, ou herdar este componentes.

Como será que me saí… :roll:

Grinvon

Muito bem Rafael, foi bem.

Veja as minhas respostas:

  1. FALSO. Somente pode se acessa, se a classe padrão estiver no mesmo pacote da classe que tenta acessa-la, por instância ou herança. Se tentar importar (import), não adiantará.

  2. VERDADEIRO. A condição de criação de instância de classes padrões é somente se ela estiver no pacote da classe que cria sua instância.

  3. VERDADEIRO. Apesar que isso torna uma redudância, pois já deixa claro que sendo ela padrão e estando no mesmo pacote, ela perfeitamente já está importada.

  4. FALSO. Pode-se criar instâncias de classe final, mesmo estando em outro pacote, desde que a classe final leve também o modificador public, para ser acessado em outro pacote. Ex: public final Casa() { … } é aceito, pois há o modificador public, e sendo assim, pode-se criar instâncias dessa classe.

  5. FALSO. Pois não se pode ter uma classe com modificadores abstract e final ao mesmo tempo.

  6. FALSO. Mesmo estando no mesmo pacote, uma classe padrão só acessa outra padrão por instância e/ou herança, caso constrário não conseguirá. Se uma classe for padrão e abstract, então a sua condição é: acessar por herança e mesmo pacote, se for padrão e final, então sua condição é mesmo pacote e por instância.

Rafael_Nunes

Putz, que bom…

Ah, e pode depositar o prêmio na conta 1005885-9, agência 5225-0…
:smiley: :smiley: :smiley:

Criado 16 de março de 2004
Ultima resposta 16 de mar. de 2004
Respostas 3
Participantes 2