Faz apenas alguns dias que comecei a estudar java, estava lendo um material na internet quando me deparei com esse exemplo sobre instanciação de objetos
01.public class TV {
02. int tamanho;
03. int canal;
04. boolean ligada;
05.
06. TV() {
07. tamanho = 21;
08. canal = 0;
09. ligada = false;
10. }
11.
12. public static void main(String[] args) {
13. TV objeto1 = new TV();
14. TV objeto2;
15. objeto2 = new TV();
16. }
17.}
Achei simples e facil de entender, mas fiquei com uma duvida pq eh escrito esse TV na frente de objeto1 e objeto2? Daonde é esse TV?
Espero que entendam a minha dúvida :shock:
Esse TV é o tipo do Objeto1 e Objeto2. A classe foi criada logo acima, onde vc ve o class TV. Se vc tivesse um class ControleRemoto, poderia criar objetos do tipo controle remoto. Assim como já há vários tipos que existem no Java, como String, Integer, StringBuilder etc.
M
marcobiscaro2112
Isso porque, em Java, classes definem tipos. Você pode fazer isso:
Stringnome="Fulano";
Pois alguém criou a classe String que define um tipo de variável (variáveis do tipo String). O mesmo se aplica para a classe TV no seu caso.
M
marcobiscaro2112
Aliás, não só classes definem tipos, mas também interfaces e enums.
Rafael_Marques1
classes são tipos abstratos de dados onde vc define as caracteristicas e as ações que determinado “objeto” deste tipo deverá ter.
Quando vc digita:
Tiponome_da_referencia=newTipo();
vc está criando um objeto na memória e atribuindo ele à uma variável de referencia, que no caso seria o nome_da_referencia.
Tendo um objeto instanciado, vc pode manipula-lo e definir as suas características e ações referentes ao objeto em questao.
discorpio
Boa noite a todos.
…
…
Não só em Java, classes, interfaces e enums definem tipos, mas também em todas as linguagens orientada o objetos, como o Object Pascal do Delphi e o C++.
No Object Pascal do Delphi existe também um outro elemento que define tipo que é o “Record”.
Andre_Brito
Em linguagens fortemente tipadas, sim. Linguagens OO fracamente tipadas não precisam.