E ai galera, não entendi muito bem a explicação do professor, primeiro ele criou uma variável g1 do tipo Funcionário, em seguida utilizou o construtor Gerente() Ai com g1 ele consegue acessar todos atributos da classe Funcionario, e logo depois ele utilizou set para colocar um nome no gerente.... não entendi a explicação o porque e como aconteceu tudo, alguém consegue me dar uma outra explicação?
Funcionario g1 = new Gerente();
g1.setNome("Marcos");