Alex,
quanto ao item 2 da sua mensagem:
Acho que eh uma questao de conceitos:
Quando voce declara uma variavel de tipo primitivo
( int, float etc ) a memoria jah eh alocada para voce.
E, quando voce declara uma "variavel" de um tipo
nao primitivo ( uma classe qualquer por exemplo que voce tenha escrito ), a
memoria TAMBEM eh alocada para voce... A diferenca eh que voce estah alocando
memoria para guardar uma referencia...
ex.: MinhaClasse minhaClasse;
O que essa linha de codigo faz? Declara uma
referencia chamada "minhaClasse" para uma classe do "tipo" MinhaClasse. A
referencia estah alocada na memoria. Normal. Voce pode querer que essa
referencia referencie um objeto jah existente ( minhaClasse =
outroObjetoDoTipoMinhaClasse; ). Ou voce pode querer instanciar um novo objeto.
Entao, se voce quiser essa segunda opcao voce usa: new MinhaClasse(); e entao
serah alocada memoria para um objeto do tipo MinhaClasse.
E o codigo fica:
MinhaClasse
minhaClasse = new MinhaClasse();
**********************************************************************************************************
Tutotial Java ( http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html
):
Arrays, classes, and interfaces are reference types. The value of a reference type variable, in contrast to that of a primitive type, is a reference to (an address of) the value or set of values represented by the variable. A reference is called a pointer, or a memory address in other languages. The Java programming language does not support the explicit use of addresses like other languages do. You use the variable's name instead.
Espero ter ajudado. :)
|
glossaryIcon.gif
Description: Binary data
n31.gif
Description: Binary data