confuso sobre a interface JAVA [duplicata]
Duplicata Possível:
O que significa “programar para uma interface”?
Interface vs Classe abstrata (geral OO)
Eu sou novo para aprender JAVA e agora estou confuso sobre interface. Eu procurei e li muitos materiais, mas ainda não está claro.
Quando tento encontrar algumas informações sobre interface, vejo muitas pessoas falando sobre a relação entre interface e classe abstrata. Mas eu nem sei porque eles contrastam esses dois. Porque eu acho que a classe abstrata é usada para dizer a outras pessoas que você não pode criar um objeto desta classe abstrata e se você quiser, você deve modificar a classe abstrata. Isso é algo sobre herança, certo?
Mas eu não sei o significado de interface. Existe uminterface a
e se umclass B
vai implementar a interface a, deve usar a palavra reservadaclass B implements a
e, em seguida, conclua todos os métodos que a interface requer. Mas a minha pergunta é, se a classe B tiver que completar todos os métodos por si só, qual é o significado da interface? Eu acho que não precisamos disso. Eu não entendo muito. Eu li muitas frases como: "interface pode refletir o pensamento central da linguagem orientada a objetos", "interface pode ajudar a tornar o programa mais fácil" e assim por diante. Mas eu não consigo entender o significado.
Então, alguém pode me mostrar alguns exemplos para deixar entender a interface? Ou você pode me dizer alguns links úteis ou os livros que descrevem a interface claramente. Eu realmente espero descobrir isso. OBRIGADO!