Boa tarde,
Gostaria de tirar uma duvida simples de iniciante.
Eu sei que uma classe abstrata não pode ser instanciada, porem o que significa uma classe instancia
É quando você cria um objeto da classe. Na linguagem isso é feito sempre que você utiliza a instrução new.
A classe é só a definição de um objeto, ou seja, é a explicação de como é aquele objeto dentro do seu sistema.
Quando você faz:
public class Aluno {
private String nome;
public Aluno(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
}
Está dizendo ao Java: “Olha Java. Meu sistema tem uma coisa chamada Aluno. Todos os alunos tem um nome”.
Já a instância é o objeto em si. Por exemplo, quando você faz:
Aluno rodrigo = new Aluno("Rodrigo");
Aluno vinigodoy = new Aluno("ViniGodoy");
Está dizendo ao Java. Olha Java, aqui estão duas instâncias (duas ocorrências) da classe aluno. São os objetos rodrigo e vinigodoy. E eles tem o nome de “Rodrigo” e “ViniGodoy”.
A instância de uma classe é um objeto.
A classe nada mais é do que uma “fôrma”, ou um “molde” para você criar objetos.
Então, quando se fala em instância ou objeto, está se falando da mesma coisa.