Duvida sobre: duas classes em um arquivo .java

6 respostas
userguj

Sobre a questão de poder-se declarar duas classes ou mais no mesmo arquivo .java:

gostaria de saber as vantagens , desvantagens , quando usa-la , quando não usa-la :?:
é algo mais que esteja relacionado a issO!!!

Ah, sei que pode haver apenas uma que contenha o [color=blue] [/color]public[color=#444444] [/color] na declaração :!:

class UmaClasse
{
 // codigos
}

class OutraClasse
{
 // codigos
}
:D

6 Respostas

rogelgarcia

Geralmente… só colocam duas classes no mesmo arquivo… quando a classe “secundaria” vamos dizer assim… é muito especifica e geralmente é usada só na classe “primaria” do mesmo arquivo…

rmendes08

rogelgarcia:
Geralmente… só colocam duas classes no mesmo arquivo… quando a classe “secundaria” vamos dizer assim… é muito especifica e geralmente é usada só na classe “primaria” do mesmo arquivo…

Nesse caso o mais correto é declarar uma classe aninhada estática privada. Deve-se declarar fora da classe e no mesmo arquivo se ela for usada também por outras classes do pacote.

userguj

poderia citar um exemplo :?:

:smiley:

rogelgarcia

O que o rmendes08 falou está correto…

No Spring Framework tem uma classe chamada BeanWrapperImpl que serve para acessar e alterar valores de objetos e atributos…

Dentro dessa classe existe uma outra PropertyTokenHolder, que guarda nomes de atributos… ela é private static e fica dentro de BeanWrapperImpl

rogelgarcia

Mas esse tipo de coisa é muuuuito raro de se ver…

As vezes que eu fiz tudo no mesmo arquivo… foi pra facilitar pra alguém que queria um algorítmo ou algo assim… (mandava só um arquivo ao invés de vários)
Se fosse um sistema meu… faria em classes separadas…

rmendes08

poderia citar um exemplo :?:

:D

public class List{
   //...

   public class add(Object e){
       ListNode node = new ListNode(e);
       //...
   }

   private static class ListNode{
      private ListNode(Object e){
         //...
      }
   }
}
Criado 14 de março de 2010
Ultima resposta 15 de mar. de 2010
Respostas 6
Participantes 3