Latest web development tutorials

interface Java

Interface (Inglês: Interface), na linguagem de programação JAVA é um tipo abstrato, é uma coleção de métodos abstratos, as interfaces normalmente interagir com o comunicado. Uma classe herdando o modo de interface, assim, herdar abstract interface de métodos.

A interface não é uma classe, ea abordagem de classe para a interface de preparação é muito semelhante, mas eles pertencem a diferentes conceitos. Classe descreve as propriedades do objeto e métodos. classe método para implementar a interface contém.

A menos que a implementação da classe de interface é abstrata, ou então para definir a interface de classe todos os métodos.

Interface não pode ser instanciada, mas ele pode ser implementado. Uma classe que implementa a interface, todos os métodos descritos na interface deve ser implementado, caso contrário ele deve ser declarado como uma classe abstrata. Além disso, em Java, o tipo de interface é usada para declarar uma variável, eles podem se tornar um ponteiro nulo, ou está ligado a um objeto dessa interface.

Uma interface semelhante a um ponto de classe:

  • Uma interface pode ter vários métodos.
  • arquivo .java interface é salva no final do arquivo, o nome do arquivo usando o nome da interface.
  • interface de arquivo bytecode é salvo em um arquivo que termina em .class.
  • Interface de arquivo bytecode correspondente com o nome do pacote deve corresponder à estrutura de diretórios.
Interface e distinção de classe:
  • Interface não pode ser usada para instanciar objectos.
  • A interface não é o construtor.
  • Todos os métodos de interface deve ser métodos abstratos.
  • Interfaces não podem conter variáveis ​​de membro, além de variáveis ​​estáticas e finais.
  • Interface não é herdada pela classe, mas a classe é para ser realizado.
  • Interface suporta herança múltipla.

As declarações de interface

sintaxe de declaração de interface é a seguinte:

[可见度] interface 接口名称 [extends 其他的类名] {
        // 声明变量
        // 抽象方法
}

palavra-chave interface é usada para declarar uma interface. Aqui está um exemplo simples de uma declaração de interface.

/* 文件名 : NameOfInterface.java */
import java.lang.*;
//引入包

public interface NameOfInterface
{
   //任何类型 final, static 字段
   //抽象方法
}

Interface tem as seguintes características:

  • A interface é implicitamente abstrato, ao declarar uma interface quando não é necessário usar a palavra-chave abstrato.
  • Cada método de interface é implicitamente abstract declaração abstrato, não requer a mesma sub-chave.
  • métodos de interface são públicos.

Exemplos

/* 文件名 : Animal.java */
interface Animal {

   public void eat();
   public void travel();
}

Implementação da interface

Quando a classe implementa a interface classe de interface de todos os métodos de alcançar. Caso contrário, a classe deve ser declarada como uma classe abstrata.

Use implementa classe palavra-chave que implementa a interface. Na declaração da classe, Implementa palavra-chave por trás declaração de classe.

Implementar uma sintaxe de interface, você pode usar esta fórmula:

... implements 接口名称[, 其他接口, 其他接口..., ...] ...

Exemplos

/* 文件名 : MammalInt.java */
public class MammalInt implements Animal{

   public void eat(){
      System.out.println("Mammal eats");
   }

   public void travel(){
      System.out.println("Mammal travels");
   } 

   public int noOfLegs(){
      return 0;
   }

   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
} 

Os exemplos acima são compilados os resultados como se segue:

Mammal eats
Mammal travels

Ao substituir métodos declarados na interface, você precisa prestar atenção para as seguintes regras:

  • Classe ao implementar métodos de interface, você não pode lançar uma exceção obrigatória, apenas na interface, ou herdar a interface de classe abstrata lançada a excepção imperativa.
  • Classe quando reescrevendo Para manter um nome de método consistente e deve permanecer o mesmo ou compatível tipo de retorno.
  • Se a execução da classe de interface é resumo, então não há necessidade de se aplicar o método da interface.

No momento da implementação da interface, mas também prestar atenção a algumas regras:

  • Uma classe pode implementar várias interfaces.
  • Uma classe só pode herdar uma classe, mas pode implementar várias interfaces.
  • Uma interface pode herdar uma outra interface, e as classes que herdam comparação entre similar.

interface de herança

Uma interface pode herdar uma outra interface, mais semelhantes entre as classes e herança. interface de herança estende palavra-chave sub-interface de herda os métodos de interface pai.

interfaces de hóquei e futebol As seguintes interfaces são herdadas Sports:

// 文件名: Sports.java
public interface Sports
{
   public void setHomeTeam(String name);
   public void setVisitingTeam(String name);
}

// 文件名: Football.java
public interface Football extends Sports
{
   public void homeTeamScored(int points);
   public void visitingTeamScored(int points);
   public void endOfQuarter(int quarter);
}

// 文件名: Hockey.java
public interface Hockey extends Sports
{
   public void homeGoalScored();
   public void visitingGoalScored();
   public void endOfPeriod(int period);
   public void overtimePeriod(int ot);
}

-se Hockey interface declara quatro métodos, a interface herda dois métodos de Desporto, de modo a perceber a necessidade de implementar a classe de hóquei interface de seis métodos.

Da mesma forma, a classe implementação da interface de futebol precisa implementar cinco métodos, incluindo duas das interfaces de Esportes.


interface de herança múltipla

Em Java, a classe herança múltipla não é legal, mas a interface permite herança múltipla.

Na interface de herança múltipla estende palavra-chave apenas uma vez, nas interfaces de follow-de herança subsequentes. Como se segue:

public interface Hockey extends Sports, Event

O fragmento de programa acima é definido legalmente sub-interfaces, ao contrário de classes que interface permite herança múltipla e Esportes e eventos poderá definir ou herdar o mesmo método


interface de marcador

A interface herdada mais comum não contém quaisquer métodos da interface.

Ele identifica a interface há métodos de interface e propriedades. Apenas indica que ele pertence a um tipo específico de classe para outro código para testar permissão para fazer alguma coisa.

Identifica o papel da interface: simples imagem de um objeto que é fazer uma marca (construir um carimbo), ou fazer um objeto tem um certo privilégio.

Por exemplo: Pacote java.awt.event interfaces de MouseListener interface de herança java.util.EventListener são definidos da seguinte forma:

package java.util;
public interface EventListener
{}

Não há nenhuma maneira a interface é chamada de interface de marcador. A interface de marcador é usado principalmente para duas finalidades:

  • O estabelecimento de uma interface de pai comum:

    Como EventListener interface, que é composto de dezenas de outra API Java Extension Interface, você pode usar uma interface de marcador para estabelecer um conjunto de interface de interface do pai. Por exemplo: quando uma interface herda EventListener interface, a Máquina Virtual Java (JVM) para conhecer a interface para ser utilizada por um programa de agente de eventos.

  • Somando-se a um tipo de dados de classe:

    Esta situação é um propósito interface de marcação original, a classe que implementa a interface de marcador não precisa definir quaisquer métodos de interface (como interface de marcador é simplesmente nenhuma maneira), mas a classe em um tipo de interface através do polimorfismo.