Interface e Classes Abstratas
Por: YdecRupolo • 12/4/2018 • 1.017 Palavras (5 Páginas) • 320 Visualizações
...
Interfaces também podem ser úteis para implementar bibliotecas de constantes: já que todos os campos de uma interface devem ser declarados como static e final, podemos escrever interfaces que somente contêm campos, e qualquer classe que implementar essa interface terá acesso a estes campos.
- VIDA E MORTE DE UM OBJETO
Para programadores, em Java, a maior preocupação é referente a duas áreas da memória – aquela em que os objetos residem (o heap) e aquela em que as chamadas de método e as variáveis locais residem (a pilha).
Sabemos que todos os métodos residem na pilha de lixo coletável, mas ainda não examinamos onde as variáveis residem. E o local onde uma variável irá residir vai depender da espécie dessa variável. São elas: variáveis de instancias e variáveis locais, também conhecidas como variáveis de pilha.
Variáveis de instancias são declaradas dentro de uma classe, mas não dentro de um método. Elas representam os “campos” que cada objeto individual tem (que podem ser preenchidos com valores diferentes para cada instância da classe). As variáveis de instância residem dentro do objeto a que pertencem.
Variáveis locais são declaradas dentro de um método, inclusive como parâmetros do método. Elas são temporárias e só existem enquanto o método está na pilha (em outras palavras, enquanto o método não alcançar a chave de fechamento).
A pilha:
go ()
doStuff ()
main ()
O Acervo (também conhecido como pilha de lixo coletável):
[pic 3]
[pic 4]
[pic 5]
obj Duck
obj Button
[pic 6]
obj Snowboard
Quando você chamar um método, ele será inserido no topo de uma pilha de chamadas. Esse novo item que na verdade é empurrado para a pilha é o ponteiro da pilha e ele contém o estado do método inclusive que linha de código está executando e os valores de todas as variáveis locais.
O método no topo da pilha é o que está sendo executado atualmente para essa pilha. Um método permanece na pilha até atingir sua chave de fechamento.
Uma variável não-primitiva armazena a referência a um objeto e não o próprio objeto. Não importa onde eles forem declarados ou criados. Se a variável local for uma referência a um objeto, só a variável entrará na pilha.
A respeito de construtor podemos dizer que:
É o código que será executado quando alguém escrever new em um tipo de classe e deve ter o mesmo nome da classe e nenhum tipo de retorno. Se o construtor não for inserido em uma classe, o compilador inserirá um construtor padrão. O construtor padrão é sempre um construtor sem argumentos.
Uma classe poderá ter mais de um construtor, contanto que as listas de argumentos sejam diferentes. Ter mais de um construtor em uma classe significa que você tem construtores sobrecarregados.
...