1. Interface: uma "classe especial" que abstraça as classes mais detalhadamente e pode conter apenas métodos abstratos na interface. A interface não se importa com os dados de estado interno da classe e define as especificações com as quais um lote de classes cumpre. (Somente estipula que certos métodos devem ser fornecidos neste lote de classes, e o fornecimento desses métodos pode atender aos requisitos reais).
Na linguagem de programação Java, é um tipo abstrato, uma coleção de métodos abstratos e interfaces geralmente são declarados como interface. Uma classe herda os métodos abstratos da interface herdando a interface.
As interfaces não são classes, e a maneira como elas escrevem interfaces é muito semelhante às classes, mas pertencem a conceitos diferentes. Class descreve as propriedades e métodos de um objeto. A interface contém os métodos a serem implementados pela classe.
A menos que a classe que implemente uma interface seja uma classe abstrata, a classe define todos os métodos na interface.
A interface não pode ser instanciada, mas pode ser implementada. Uma classe que implementa uma interface deve implementar todos os métodos descritos na interface, caso contrário, deve ser declarada como uma classe abstrata. Além disso, no Java, os tipos de interface podem ser usados para declarar uma variável, eles podem ser um ponteiro nulo ou vinculado a um objeto implementado com essa interface.
Definição: [Modificador] Nome da interface da interface estende a interface pai 1, interface de atribuição 2, ... // sem estende a interface pai 1 ... é definir a interface
{
// zero a múltiplas definições constantes ...
// zero para múltiplas instância abstrata definição do método ...
}
[Sintaxe Descrição]: 1. O modificador pode ser público ou omitido. Se o caractere de controle de acesso público for omitido, será a permissão de acesso a pacotes.
2. Todos os membros da interface são modificados publicamente porque a interface é pública e pode ser acessada por todas as classes. A modificação padrão do atributo na interface é: PublicstaticFinal. Independentemente de o atributo estar escrito ou não, a modificação padrão do mesmo método é: Publicabstract, Classe Internal: Publicstatic. Eles serão adicionados por padrão.
3. Não pode haver construtores nos membros e não pode haver blocos de inicialização.
4. Um arquivo de origem Java pode definir apenas no máximo uma interface, porque é modificada publicamente, e o nome armazenado deve ser o mesmo que o nome da classe modificada publicamente, e a interface pode ser considerada uma classe especial.
2. Herança da interface: uma interface pode ter várias interfaces diretas para pais, e uma interface pode herdar apenas interfaces, mas não classes.
[Nota]: a. A interface filho herda a interface pai e obterá todos os métodos abstratos, atributos constantes, classes internas e outras definições definidas na interface pai.
3. Uso da interface: Sintaxe: [Modificador] Classe Nome Extende a classe pai implementa a interface 1, interface 2 ... {classe Body}.
【Precauções】
um. Descrição: Uma classe pode herdar uma classe pai e várias interfaces ao mesmo tempo, mas as extensões devem ser colocadas após os implementos.
b. A interface não pode criar uma instância, mas pode declarar variáveis, mas deve se referir ao objeto de sua classe de implementação.
c. O principal objetivo é ser implementado por classe.
d. Método de implementação: use a palavra -chave de implementos
e. Após uma classe herda uma interface, ela deve implementar totalmente todos os métodos abstratos definidos nessas interfaces (ou seja, reescrever esses métodos de classe na subclasse). Caso contrário, se não estiver totalmente implementado, essa classe só poderá ser definida como uma classe abstrata.
f. Ao substituir o método da interface, o modificador só pode ser maior ou igual que a classe pai, portanto, também deve ser um modificador público.
g. Todas as variáveis do tipo de interface podem ser atribuídas diretamente às variáveis do tipo de objeto.
Publique o código de amostra (citado no Java Crazy de Li Gang):
// Defina uma saída de interface da interface {// O atributo só pode ser definido como constantes int max_cache_line = 50; // definir principalmente o espaço de armazenamento // o método abstrato definido na interface só pode ser public void out (); void getData (string msg); } // Defina um produto da interface interface {int getProducteTime (int a); } // Deixe a classe da impressora implementa a interface definida da classe pública Impressora implementa a saída, produto {private string [] printData = new String [max_cache_line]; private int datanum = 0; public void out () // reescreva o método de saída da interface pai {while (datanum> 0) {System.out.println ("print print"+printData [0]); System.ArrayCopy (PrintData, 1, PrintData, 0,-Datanum); }} public void getData (string msg) // reescreva o método de saída da interface pai {if (datanum> = max_cache_line) {System.out.println ("Full"); } else {printData [datanum ++] = msg; }} public int getProduCeTime (int a) // Reescreva o método do produto da interface pai {return a = a; } public static void main (string [] args) {// A interface pai pode declarar variáveis, mas não pode criar instâncias, polimorfismo: a declaração de saída, mas a instância criada é a saída da impressora o = nova impressora (); O.getData ("xiuxiu"); O.out (); // chama diretamente o método de saída // A interface pai pode declarar variáveis, mas não pode criar instâncias, polimorfismo: a declaração de saída, mas a instância criada é o produto da impressora P = new Printer (); System.out.println (P.GetProduCeTime (82)); // Todas as variáveis de referência do tipo de interface podem ser atribuídas diretamente ao objeto do tipo de objeto Object Obj = P; Objeto obj1 = o; }}4. Similaridades e diferenças entre classes abstratas e interfaces:
mesmo:
1. Todos são métodos abstratos.
2. Nenhuma instância pode ser criada.
3. As subclasses devem implementar todos os métodos abstratos dentro deles após herdá -los. Se eles não estiverem totalmente implementados, a classe só poderá ser definida como uma classe abstrata.
Diferente:
1. Somente pode haver métodos abstratos na interface e métodos comuns na classe abstrata.
2. Os atributos na classe de interface têm o modificador PublicStaticFinal por padrão, mas os atributos na classe abstrata podem ser comuns.
3. A interface não possui um bloco de inicialização, mas é encontrado na classe abstrata.
4. Uma interface pode ter várias interfaces pais, mas uma classe abstrata pode ter apenas uma classe pai.
Resumir
O exposto acima é sobre os exemplos de interface e uso em Java. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la.