Recomendado, 2024

Escolha Do Editor

Diferença entre pacotes e interfaces em Java

Pacotes e Interfaces funcionam como um contêiner. O conteúdo em pacotes e interfaces pode ser usado pelas classes importando e implementando-o de forma correspondente. A diferença básica entre pacotes e interfaces é que um pacote contém um grupo de classes e interfaces, enquanto uma interface contém métodos e campos. Vamos estudar algumas outras diferenças com a ajuda do gráfico de comparação.

Gráfico de comparação

Base para ComparaçãoPacotesInterfaces
BasicPacotes é um grupo de classes e / ou interfaces juntos.Interfaces é um grupo de métodos abstratos e campos constantes.
Palavra chaveOs pacotes são criados usando a palavra-chave "Pacote".A interface é criada usando a palavra-chave "Interface".
Sintaxepacote package_name;
public class class_name {
.
(corpo da turma)
.
}
interface interface_name {
declaração variável;
declaração de método;
}
AcessoUm pacote pode ser importadoUma interface pode ser estendida por outra interface e implementada pela classe.
Palavra-chave de acessoOs pacotes podem ser importados usando a palavra-chave "import".Interfaces podem ser implementadas usando a palavra-chave "implementar".

Definição de Pacotes

Pacotes são coleções ou grupos da variedade de classes e interfaces. As classes em pacotes são relacionadas umas às outras em algum escopo ou por herança. Você também pode criar seu pacote e usá-lo para o seu programa.

Criando um pacote

Para criar um pacote, basta seguir os seguintes passos.

  1. Abra um arquivo e, em seguida, declare o nome do pacote na parte superior do arquivo, como [package package_name; ] o nome do pacote é o nome que você deseja dar ao pacote.
  2. Em seguida, defina uma classe que você deseja colocar no pacote e lembre-se de declará-la pública.
  3. Salve o arquivo como um arquivo .java e, em seguida, compile o arquivo, então ".class" é obtido para esse arquivo.
  4. Para criar um pacote para este arquivo, o comando usado é “javac -d. file_name.java. Você pode ver que o pacote é criado contendo um arquivo ".class" no diretório atual. Para colocá-lo no diretório pai, use “javac -d. . comando file_name.java ”.
  5. Você também pode criar um subpacote declarando o nome do subpacote como [package package_name1. package_name2; ] no topo do arquivo.
 pacote Mypackage; public class myclass {público void displayMypackage () {system.out.println ("método displayMypackage da classe myclass do pacote Mypackage"); } 

Usando o pacote

Os pacotes criados ou disponíveis no diretório podem ser usados ​​no programa usando uma instrução de importação. A palavra-chave usada para importar qualquer pacote em seu programa é “import”. A declaração de importação pode ser escrita de duas maneiras, ou você pode dizer que existem duas maneiras de acessar qualquer pacote. Primeiro, se você quiser usar uma classe específica de um pacote, a palavra-chave “import” é seguida pelo nome do pacote seguido pelo operador ponto e pelo nome da classe que você deseja usar do pacote. Segundo, se você quiser usar muitas classes que estão contidas nos pacotes, a palavra-chave import é seguida pelo nome do pacote seguido pelo ponto e pelo operador "*".

 import package_name. nome da classe; ou import package_name. *; 

No código acima, você pode ver o sinal * que indica que o segundo método importa todas as classes contidas nos pacotes.

Agora, vamos ver o uso do pacote com um exemplo.

 import Mypackage. myclass {class TestMypackage {público estático void main (string args []) {myclass ob1 = novo myclass (); ob1.displayMypackage (); }} // método de saída displayMypackage da classe myclass do pacote Mypackage. 

No código acima, a classe TestMypackage importou o pacote Mypackage e usou seu método displayMypackage ().

Definição de Interface

A interface é um tipo de classe, mas difere no sentido de que os métodos declarados na interface são abstratos, o que significa que os métodos são declarados apenas, mas não definidos. Os campos na interface são sempre públicos, estáticos e finais. Os campos devem ser inicializados no momento da declaração. Os métodos declarados pela interface são definidos pela classe que implementa essa interface de acordo com seu requisito. Como os métodos na interface não executam nenhuma função, não há uso de criação de nenhum objeto da interface. Portanto, nenhum objeto pode ser criado para a interface.

A interface também pode herdar a outra interface, mas a classe que herda essa interface também deve implementar todos os métodos da interface herdada. Como os campos são inicializados no momento de sua declaração na interface, não há necessidade de construtor na interface, portanto, a interface não contém nenhum construtor. Vamos ver o exemplo de criar e usar uma interface.

 Área de interface {float pi = 3, 14; float find_area (float a, float b) {} classe Implementa o círculo Área {float find_area (float a, float b) {retorno (pi * a * a); } Formas de classe {public static void main (string args []) {Área A = nova Área (); Círculo C = novo círculo (); A = C; Flutuar F = Área. find_area (10, 10); system.out.println ("Área do círculo é:" + F); } 

No código acima, criamos uma Área de interface e a classe Circle implementou a área de interface. O campo “pi” foi inicializado na interface no momento de sua declaração. A classe Circle definiu o método abstrato da área da classe de acordo com seu requisito.

Principais diferenças entre pacotes e interfaces em Java

  1. Um pacote é um grupo de classes e interfaces, enquanto uma interface é um grupo de métodos abstratos.
  2. O pacote é criado usando um pacote de palavras-chave , enquanto uma interface é criada usando uma interface de palavra-chave.
  3. Se uma classe ou interface dentro de um pacote for usada, o pacote será importado enquanto uma interface tiver que ser implementada.

Conclusão:

Ambos os pacotes e interface são os contêineres. O pacote reduz o tamanho do código, pois apenas importamos a classe a ser usada em vez de defini-la novamente. Enquanto a interface reduz as confusões ocorridas enquanto heranças múltiplas, porque no caso de heranças múltiplas a classe herdada não tem que decidir que definição de qual método ela deve herdar, em vez disso, define a sua própria.

Top