Perguntas teóricas sobre java!

3 respostas
L

estou estudando java, mas só estou vendo a parte prática deixando de lado a parte teórica, mas pra mim, sem a teoria não se vai a lugar nenhum então vamos as minhas dúvidas:

1)O que significa varável de instância?([color=red]será atributo?)[/color]

2)O que provoca a mensagem de erro:
“cant’s a assing a value to a final variable”?

3)Quando o objeto é alocado na memória?

4)O que é um tipo abstrato?

5)Quais as vantagens da sobre carga?([color=red]eu já o que é mas não sei as vantagens)[/color]

6)qual a diferença entre objetos e variáveis de referência?(eu acho que é a mesma coisa mas vi em site que são direfentes)[color=#444444][/color]

3 Respostas

T
  1. Sim, é atributo do objeto.

  2. Significa que vc tentou fazer um assignment (x = y;) em uma variável final.

  3. Quando vc dá new ClasseA();

  4. Um tipo que não pode ser instanciado (ter objetos do seu tipo criados com o new()). Pesquise sobre polimorfismo para entender melhor e quando vc tiver dúvidas mais concretas posta de novo.

  5. Vc consegue chamar um método específico para uma classe, enquanto tratando ele como objeto de uma superclasse dele. Novamente, veja polimorfismo.

  6. Sinceramente, não sei dizer :). Acabo me guiando mais pelo contexto que está sendo tratado do que pelos nomes exatos das coisas hehehehe.

Té mais!

R

Dever de casa?
Bom vou tentar:

lfernandosg:
estou estudando java, mas só estou vendo a parte prática deixando de lado a parte teórica, mas pra mim, sem a teoria não se vai a lugar nenhum então vamos as minhas dúvidas:

1)O que significa varável de instância?([color=red]será atributo?)[/color]

2)O que provoca a mensagem de erro:
“cant’s a assing a value to a final variable”?[/quote]

Uma variável marcada como final se torna uma constante…isso significa que só será atribuído valor a ela uma unica vez…quando ela é inicializada…depois vc nunca mais pode mudar o valor dela.

Quando você referencia uma instância dele a uma variavel usando a palavra new e chamando o método construtor

Um método abstrato é um método “vazio” digamos assim…ele tem uma assinatura mas não tem código dentro dele…cabe a quem for usar a classe abstrata “implementar” esse método q é inserir algum código nele. Ou pelo menos declara-lo.

5)Quais as vantagens da sobre carga?([color=red]eu já o que é mas não sei as vantagens)[/color]

6)qual a diferença entre objetos e variáveis de referência?(eu acho que é a mesma coisa mas vi em site que são direfentes)[color=#444444][/color]

Variáveis de referência apontam para objetos.

D

E ai rapaz. Tudo bem?!

1 - Que eu me lembre, há três tipos de atributos em Java:
De classe
São criados com o modificador “static” e querem dizer que o atributo será acessado através da classe. Todas as instancias da classe compartilharam o mesmo espaço de memória.
De instância
Quer dizer que cada instancia da classe terá um espaço de memória para este atributo. O atributo não é compartilhado.
De método
São atributos declarados dentro de um método. O espaço de memória é alocado a cada execução do método e destruído após o fim da execução do mesmo.

2 - Quando você declara um atributo com o modificador “final” quer dizer que ele terá seu valor atribuído somente uma vez e não poderá ser alterado. Seria uma constante.

3 - O objeto é alocado no ato de sua criação, ou seja, quando é instanciado. Ex.: new String(); Estamos alocando um espaço na memória para guardar um objeto do tipo String.

4 - O tipo abstrato é uma classe que serve como “modelo” para outras e por esse motivo não pode ser instanciada.
Ex.:
Tenho uma classe Aviao. Todos os aviões tem o método voar. Só que uma Ultraleve, que herda de Aviao, e um 747-400 tem maneiras diferentes de voar, ou seja, o método voar dos dois tem implementações diferentes.
Para tanto, eu crio uma classe abstrata Aviao com um método abstrato voar() que irá OBRIGAR que minha subclasse (Ultraleve ou B747) a implementar este método!

5 - Vamos supor que eu queira cadastrar um Cliente. Eu posso cadastrar só com o Nome, cadastrar com o Nome e Endereço ou com Nome, Endereço e Telefone. Bem visto que eu tenho esses três cenários, ao invés de criar três métodos com nomes como

incluirPessoaNome
incluirPessoaNomeEndereco
incluirPessoaNomeEnderecoTelefone

você poderia usar sobrecarga

incluirPessoa(String nome)

incluirPessoa(String nome, String endereco)

incluirPessoa(String nome, String endereco, String telefone)

Acho que não precisa nem dizer o como é bem mais legível né?!

6 - Bem… não sei se entendi direito essa sua dúvida. Mas em Java, até onde sei, variáveis fazem referência à objetos. Eu posso ter 3 variáveis apontando para o mesmo objeto, por exemplo. Objeto é, digamos, o nome dado à um determinado espaço na memória, onde existem N variáveis apontando.

Espero ter ajudado. Abraço.

Criado 6 de abril de 2006
Ultima resposta 6 de abr. de 2006
Respostas 3
Participantes 4