Bem, aqui no trabalho a discussão foi grande hehe. Na ferramenta de modelagem Rational Rose(não sei quanto às outras) e na própria definição da OMG sobre UML, em um diagrama de sequência como do exemplo a seguir, uma instância de uma classe(Principal.class) cria um objeto(instância de uma classe, neste caso da classe Objeto1) e o nomeia como obj. Até aí tudo normal e para demonstrar isso coloquei alguns métodos que identificam essa instância criada(pega o hashCode e o nome da classe a partir da qual o objeto foi instanciado e imprime os dois - ver arquivo JAR). Em seguida faz uma chamada ao método static imprime() da classe Objeto2. Aí está a discussão. Pela uml no momento em que o método imprime() é chamado, essa chamada é feita à uma instância da classe Objeto2. Sei que obviamente nenhum instância foi criada de modo explicito(new Objeto2()), sendo assim, a JVM criaria um instância de Objeto2() que responde à chamada? Se é criada essa instância de Objeto2(), porque os métodos que colokei dentro do construtor da classe não são executados? ou porque essa instância não “seta” as variáveis testeHC e testeClass(veja código no arquivo JAR) que eu pedi que fossem setadas quando fosse criada uma instância dessa classe?
http://rev.alcides.sites.uol.com.br/uml.jpg
http://rev.alcides.sites.uol.com.br/TesteObj.jar
as urls estão funcionando… mas se apresentarem problemas é só copiar, abrir outra janela do navegador, colar a url e abrir.
Valeu!!