public class Gerente extends Funcionario {
public void autentica(int senha) {
System.out.println("Metodo Autentica");
}
}
public class TesteReferencias {
public static void main(String[] args) {
Funcionario g1 = new Gerente();
((Gerente) g1).autentica(1234); //Porque?
}
}
Eu entendi que eu preciso estanciar o Gerente como uma var do tipo Gerente. Mas queria saber o porque do "((Gerente) g1).autentica(1234);". Esta é uma outra maneira de dizer que o g1 é uma var Gerente? Seria uma sobreposição de variável? *PS: Estou usando o IntelliJ