Seguinte galera,
Eu estou fazendo umas peripércias aqui no java para firmar conhecimento apenas, então me deparei com uma coisa que o "eclipse" resolveu pra mim automaticamente, mas eu gostaria de saber o pq ele fez isso, sera alguém pode me dar uma explicação ??
seguinte,
eu tenho uma classe Tela com um método por exemplo "setNome" e esse método recebe como parâmetro uma String.
Tb tenho uma classe que estende a outra no caso "Administrador que estende Usuario", por exemplo o Usuario possui os atributos login, senha e o administrador tem um atributo a mais que é matrícula. Então estou jogando para meu objeto Tela "Matricula: mat"
Então por exemplo eu criei assim
Usuario usu = new Administrador ("Login","senha",123);
Tela tela = new Tela();
//aqui está a minha dúvida
tela.setNome("Matricula:"+((Administrador) usu).getMatricula());
Eu entendi o seguinte, eu sei que tenho que dizer a aplicação o usu é Usuário porém ele é do tipo Administrador q para poder executar o método getMatricula, mas pq no caso ele colocou isso entre parênteses -> ( (typecast) usu ).metodo ?
Obs.:" Por favor, não se ligue na logica que postei , eu sei que poderia por Administrador usu = new Administrador(parametros), eu so bolei aqui um jeito objetivo de fazer a pergunta.
abssss e obrigado pela atenção