Vou mais uma vez ser solidário com outras pessoas que falaram de assuntos que não foram abordados e o tempo de aula que pode ser aproveitado melhor.
Por incrível que pareça, durante todo o tempo de 11 minutos a professora balançou mais a cabeça do que abriu a boca para dar aula ou explicar algum assunto, e olhe que ela até tentou.
Imaginem a cabeça de um aluno ou aluna iniciante que nunca viu Java e estar tentando pela primeira vez tentar pegar um pouco do assunto, o que será ela entendeu, como é que não fica. Deve ficar com mais dúvida do que já estava antes.
Um exemplo muito simples sem muitas complicações para o entendimento de como verificar um tipo de objeto.
Usando instanceof
O operador instanceof retorna true se o objeto for uma instância da classe especificada ou de qualquer uma de suas subclasses, e false caso contrário.
public class Pessoa {
// ... atributos e métodos da classe Pessoa ...
}
public class Aluno extends Pessoa {
// ... atributos e métodos da classe Aluno ...
}
public class VerificadorTipo {
public static void verificar(Object obj) {
if (obj instanceof Pessoa) {
System.out.println("O objeto é do tipo Pessoa (ou uma subclasse)");
// Se precisar, você pode fazer o casting seguro aqui:
Pessoa p = (Pessoa) obj;
// ... usar métodos de Pessoa ...
} else {
System.out.println("O objeto não é do tipo Pessoa");
}
}
public static void main(String[] args) {
Pessoa pessoa = new Pessoa();
Aluno aluno = new Aluno();
String texto = "Olá";
verificar(pessoa);
verificar(aluno);
verificar(texto);
}
}