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 ae se umclass B vai implementar a interface a, deve usar a palavra reservadaclass B implements ae, 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!

questionAnswers(5)

yourAnswerToTheQuestion