Latest web development tutorials

Interface Java

Interfaz (Inglés: Interface), en el lenguaje de programación Java es un tipo abstracto, es una colección de métodos abstractos, las interfaces suelen interactuar con el comunicado. Una clase heredando modo de interfaz, con lo que heredan los métodos de interfaz abstracta.

La interfaz no es una clase, y el enfoque de la clase a la interfaz de preparación es muy similar, pero que pertenecen a diferentes conceptos. Clase describe las propiedades y métodos del objeto. clase de método para implementar la interfaz contiene.

A menos que la aplicación de la clase de interfaz es abstracto, o bien para definir la interfaz de clase todos los métodos.

La interfaz no se pueden crear instancias, pero puede ser implementada. Una clase que implementa la interfaz, se deben implementar todos los métodos descritos en la interfaz, de lo contrario, debe ser declarado como una clase abstracta. Además, en Java, el tipo de interfaz se utiliza para declarar una variable, pueden convertirse en un puntero nulo, o es unido a un objeto de esta interfaz.

Una interfaz similar a una clase de punto:

  • Una interfaz puede tener varios métodos.
  • archivo .java interfaz se guarda en el final del archivo, el nombre de archivo con el nombre de la interfaz.
  • interfaz de archivo de código de bytes se guarda en un archivo con extensión .class.
  • Interfaz de archivo de código de bytes que corresponde con el nombre del paquete debe coincidir con la estructura de directorios.
Interfaz y clase distinción:
  • Interface no se puede utilizar para crear instancias de objetos.
  • La interfaz no es el constructor.
  • Todos los métodos de interfaz deben ser métodos abstractos.
  • Las interfaces no pueden contener variables miembro, además de las variables estáticas y finales.
  • La interfaz no es heredada por la clase, pero la clase se quiere realizar.
  • La interfaz soporta la herencia múltiple.

Declaraciones de interfaz

sintaxis de declaración de interfaz es el siguiente:

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

palabra clave interface se utiliza para declarar una interfaz. Aquí está un ejemplo sencillo de una declaración de interfaz.

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

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

Interfaz tiene las siguientes características:

  • La interfaz es implícitamente abstracto, cuando se declara una interfaz cuando no es necesario utilizar la palabra clave abstracta.
  • Cada método de interfaz es implícitamente abstracta declaración, abstracta, no requiere la misma clave del sub.
  • métodos de interfaz son públicas.

Ejemplos

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

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

Implementación de la interfaz

Cuando la clase implementa la interfaz de clase de interfaz de todos los métodos para lograr. De lo contrario, la clase debe ser declarado como una clase abstracta.

Uso de palabras clave implementa la clase que implementa la interfaz. En la declaración de clase, Implementa palabra clave detrás de declaración de la clase.

Implementar una sintaxis interfaz, puede utilizar esta fórmula:

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

Ejemplos

/* 文件名 : 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();
   }
} 

Los ejemplos anteriores resultados compilados son los siguientes:

Mammal eats
Mammal travels

Al reemplazar los métodos declarados en la interfaz, es necesario prestar atención a las siguientes reglas:

  • Clase en la aplicación de los métodos de la interfaz, no se puede lanzar una excepción obligatoria, sólo en la interfaz, o heredar la interfaz clase abstracta produce la excepción obligatoria.
  • Clase al reescribir Para mantener el nombre de un método coherente, y debe permanecer igual o compatible tipo de retorno.
  • Si la aplicación de la clase de interfaz es abstracto, entonces no hay necesidad de aplicar el método de la interfaz.

En el momento de la implementación de la interfaz, sino también prestar atención a algunas reglas:

  • Una clase puede implementar varias interfaces.
  • Una clase sólo puede heredar de una clase, pero puede implementar varias interfaces.
  • Una interfaz puede heredar otro interfaz y las clases que heredan comparación entre similar.

Interfaz de la herencia

Una interfaz puede heredar otro interfaz, más similares entre las clases y herencia. interfaz de la herencia se extiende palabra clave sub-interfaz hereda los métodos de la interfaz principal.

interfaces de hockey y el fútbol Las siguientes interfaces se heredan Deportes:

// 文件名: 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);
}

Hockey mismo interfaz declara cuatro métodos, interfaz hereda dos métodos de Deportes, por lo que da cuenta de la necesidad de implementar la interfaz de la clase de hockey seis métodos.

Del mismo modo, la implementación de la interfaz de fútbol de clase necesita implementar cinco métodos, incluyendo dos de las interfaces de Deportes.


interfaz de la herencia múltiple

En Java, la clase de herencia múltiple no es legal, pero la interfaz permite la herencia múltiple.

En la interfaz de la herencia múltiple se extiende de palabras clave sólo una vez, en las interfaces de seguimiento de herencia posteriores. En la siguiente manera:

public interface Hockey extends Sports, Event

El fragmento de programa anterior se define legalmente sub-interfaces, a diferencia de clases que permite interfaz de herencia múltiple, y Deportes y eventos pueden definir o heredar el mismo método


interfaz de marcador

La interfaz heredada más común no contiene cualquiera de los métodos de la interfaz.

Se identifica la interfaz hay métodos de interfaz y propiedades. Se limita a indicar que pertenece a un tipo particular de clase para otro código para probar permitió hacer algo.

Identifica el papel de la interfaz: sencilla imagen de un objeto que se va a hacer una marca (construir un sello), o hacer que un objeto tiene un cierto privilegio.

Por ejemplo: paquete de interfaz de las interfaces java.awt.event MouseListener herencia java.util.EventListener se definen como sigue:

package java.util;
public interface EventListener
{}

No hay manera de la interfaz se denomina interfaz de marcador. Una interfaz de marcador se utiliza principalmente para dos propósitos:

  • El establecimiento de unas interfaces de padres comunes:

    Como EventListener interfaz, que se compone de de otra API de interfaz de extensión de Java docenas, puede utilizar una interfaz de marcador para establecer un conjunto de interfaz de la interfaz principal. Por ejemplo: cuando una interfaz hereda EventListener interfaz, Java Virtual Machine (JVM), para conocer la interfaz que se utilizará para un programa de agente de eventos.

  • Agregando a un tipo de datos de clase:

    Esta situación es un propósito interfaz original de marcaje, la clase que implementa la interfaz de marcador no necesita definir cualquier método de interfaz (como interfaz de marcador es simplemente no hay manera), pero la clase en un tipo de interfaz a través de polimorfismo.