Facilidade para static e por que o main existe  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

louds wrote:E depois quando precisarem voltar a ser instance methods você vai se perguntar porque o tiro no pé doi.


Lembre-se que eu disse sempre que possível. E é claro que no caso da member class não precisar ter acesso a instância da classe que a engloba. Normalmente ninguém escreveria um Adapter com uma static member class.

Mas quando isto é possível, é altamente recomendável sob o ponto de vista de economia de recursos e também por clareza de código. Principalmente se serão construídas muitas instâncias da classe externa. É a solução adotada na interface Map.Entry.

Member classes não são muito usadas pela maioria dos programadores mas para mim é uma das coisas boas do Java. Serve para confinar código exatamente onde ele é requisitado. Eu não gosto de código swing quando o programador pensa que fica mais claro escrevendo os listeners sem usar member classes.

Mas é claro que se uma refatoração exigir que se volte a instance methods isto só pode ser exequível se a classe ainda não foi publicada sua documentação ou ainda se ela não se propagou demais pelos sistemas da empresa.

[]s
Luca

This message was edited 1 time. Last update was at 08/04/2005 15:47:34


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

renato3110 wrote:Do que o louds e o Luca estão falando? O que são member classes?


member class = inner class = classe interna = classe declarada dentro de outra classe

Podem ser:
- static member classes = usam static, não existe uma instância dela para cada instância da classe que a engloba. Não podem acessar instâncias da classe que a engloba.
- member classes = classes comuns, apenas que ficam dentro de outras
- anonymous classes = classes comuns, apenas que ficam dentro de uma expressão
- local classes = classes comuns, apenas que ficam dentro de um método

Dada as características do local de definição de cada tipo podem haver restrições ao que cada classe interna pode acessar ou o que dela pode ser acessado pela classe que a contém ou por outras classes do sistema.

Conhecer isto é básico para certificação.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
renatosilva
GUJ Master

Membro desde: 16/12/2004 17:09:19
Mensagens: 1787
Offline

Valeu Luca pela aula grátis!!!

Eu só conhecia como inner classes mesmo.

This message was edited 1 time. Last update was at 08/04/2005 17:35:56

 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team