Diferença entre pacotes e interfaces em Java

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 3 Julho 2024
Anonim
Diferença entre pacotes e interfaces em Java - Tecnologia
Diferença entre pacotes e interfaces em Java - Tecnologia

Contente


Pacotes e interfaces atuam 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.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoPacotesInterfaces
BasicPackages é 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 "Package".A interface é criada usando a palavra-chave "Interface".
Sintaxepacote package_name;
classe pública class_name {
.
(corpo da classe)
.
}
interface interface_name {
declaração de variável;
declaração de método;
}
AcessoUm pacote pode ser importado Uma interface pode ser estendida por outra interface e implementada pela classe.
Acessar palavra-chave Os pacotes podem ser importados usando a palavra-chave "import".As interfaces podem ser implementadas usando a palavra-chave "implementar".


Definição de Pacotes

Pacotes são coleção ou grupos da variedade de classes e interfaces. As classes nos pacotes estão relacionadas entre si 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 o nome do pacote que você deseja atribuir ao pacote.
  2. Em seguida, defina uma classe que deseja colocar no pacote e lembre-se de declara-la pública.
  3. Salve o arquivo como um arquivo .java e, em seguida, compile o arquivo, para obter o arquivo ".class".
  4. Para criar um pacote para este arquivo, o comando usado é “javac -d. file_name.java. Você pode ver que o pacote foi criado contendo um arquivo ".class" no diretório atual. Para colocá-lo no diretório pai, use “javac -d. . file_name.java ”.
  5. Você também pode criar um subpacote declarando o nome do subpacote na parte superior do arquivo.

pacote Mypackage; classe pública myclass {public void displayMypackage () {system.out.ln ("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 no 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ê deseja usar uma classe específica de um pacote, a palavra-chave "import" é seguida pelo nome do pacote, seguido pelo operador dot e pelo nome da classe que você deseja usar no pacote. Segundo, se você quiser usar muitas classes contidas nos pacotes, a palavra-chave import será seguida pelo nome do pacote, seguido pelo ponto e pelo operador "*".

importar package_name. nome da classe; ou importe 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.

importar Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new 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

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, 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 seus requisitos. Como os métodos na interface não executam nenhuma função, não há como criar nenhum objeto na 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 da 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 criação e uso de uma interface.

Área da interface {float pi = 3,14; float find_area (float a, float b) {} classe Circle implementa Area {float find_area (float a, float b) {return (pi * a * a); } Formas da classe {public static void main (string args) {Area A = new Area (); Círculo C = novo círculo (); A = C; float F = Área. find_area (10,10); system.out.ln ("A área do círculo é:" + F); }

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

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

Conclusão:

Os pacotes e a 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 durante várias heranças, porque no caso de múltiplas heranças, a classe hereditária não decide a definição de qual método deve herdar, mas define sua própria.