Para que serve uma Interface

Pessoal, geralmente quando abro um código da internet me deparo com algo do tipo


public interface NomeDaClasse {


	boolean abre();
	

	void fecha();
	

	int getLargura();
	
	
	int getAltura();


}

Alguém poderia me explicar de forma suncinta qual o objetivo da interface? eu até agora não vi utilidade de utiliza-la :cry:

abraço

http://www.guj.com.br/java.tutorial.artigo.123.1.guj

Interface é um recurso da linguagem Java que apresenta inúmeras vantagens no sentido da modelagem e instanciação de objetos, porem deve-se entender claramente os conceitos básicos da orientação a objetos a fim de utilizá-la plenamente.
Uma interface é como um contrato, através dele podemos especificar quais métodos as classes terão que implementar.
Uma interface não pode ser instanciada, ele pode ser usada como Tipo de variável que recebe um objeto do tipo da classe que implementa esta interface.
Dentro de uma interface pode ser definido variáveis e todas serão constantes, também podemos definir a assinatura de métodos e todos os métodos declarados são public.
Quando uma classe implementa uma interface, está classe também precisa implementar todos os métodos que tem na interface, apenas quando usamos classes abstratas implementando interface que não precisamos obrigatoriamente implementar todos os métodos.

É só a parte mais importante da orientação a objetos. É o conjunto de assinaturas de métodos de uma classe.

Ela define que comportamentos uma classe que implementa as interfaces deve ter. Definindo os comportamentos, um objeto pode mudar internamente à vontade, e não quebrar o resto do sistema, desde que ele respeite seu contrato.

Para que dois objetos possam conversar, um precisa conhecer somente a interface do outro. Qualquer coisa além disso leva a problemas.