Criei uma estrutura para implementar minhas aplicações. Tentei criar uma Interface, para acrescentar ao codigo em desenvolvimento esses metodos, porém os metodos “private” não consigo gerar a partir da Interface.
Ueh, voce não pode declara-los como publicos não???
leonardobhbr
Coloque o metodo como protected
So as classes que herdarem ela poderam acessar o metodo
Diabo_Loiro
Não da. Todos os métodos de uma interface são públicos e abstratos, você tem sobrescrever eles. Pelas regras de sobrescrição você não pode diminuir a visibilidade de um método. Sendo assim não pode usar protected também.
A interface é feita justamente para EXPOR métodos porque voce ia querer que esses métodos fossem private?
santanna106
Diabo Louro tem razão.
Não faz sentido que uma interface tenha métodos private.
leonardobhbr
Quando eu falei protected esqueci de dizer que teria que ser classe abstrata
Tem que avaliar se no seu caso e melhor uma classe abstrata ou uma interface se for interface é so public
ViniGodoy
Uma outra possibilidade é implementa-los numa inner class abstrata.
É, geralmente, uma boa forma de implementar interfaces sem expor coisas na sua classe desnecessariamente.
KaosBr
Boa noite,
josue carrecon, Diabo Loiro: sim, preciso deles private. Estou usando esse recurso para melhorar a leitura/manutenção de um código de GUI.
leonardobhbr, vou tentantar uma classe abstrata. Se funcionar posto a respeito.
Não sei se fiz a interpretação correta, mas parece a declaração de uma classe, com o acesso “private”. Caso tenha feito, realmente se torna equivalente ao metodo “private”. É isso mesmo? Caso seja, qual a vantagem de um pra outro?
Obrigado a todos
[]s
KaosBr
Boa tarde,
leonardobhbr, a classe abstrata permite que defina o modificador como protected. Isso já permite que, metedos sejam implementados, e isolados quando o objeto é contruido.
Porém para implementar, preciso de usar herança e java não suporta herança multipla. A solução é gerar um modelo (template) para uso para garantir a estrutura.
Obrigado pela ajuda que deram pois, contribuiu para o aprendizado de recursos valiosos para uso.