Diferença entre pacote e interface em Java

o diferença chave entre Package e Interface em Java é que O pacote ajuda a categorizar as classes metodicamente para acessá-las e mantê-las facilmente, enquanto a Interface ajuda a implementar várias heranças e a obter abstração.

Java é uma das linguagens de programação mais populares. A principal vantagem do Java é que ele suporta Programação Orientada a Objetos. Essa metodologia permite modelar os objetos do mundo real em software. Uma classe é um blueprint para criar um objeto. Cada objeto contém dados ou campos para descrever os atributos ou as propriedades e métodos para descrever comportamentos. Este artigo discute dois conceitos relacionados ao OOP em Java em Java que são Package e Interface.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é o pacote em Java
3. O que é interface em Java
4. Comparação Lado a Lado - Pacote vs Interface em Java em Forma Tabular
5. Resumo

O que é o pacote em Java?

Java fornece um grande número de classes. Manter todas as classes em uma única pasta pode ser difícil porque é difícil de acessar. Isso pode afetar a capacidade de gerenciamento do programa. Java usa pacotes para organizar classes. É semelhante a uma pasta. A API Java agrupa classes em pacotes diferentes de acordo com a funcionalidade. Portanto, cada pacote contém um conjunto relacionado de classes.

Exemplo de pacotes em Java

Poucos exemplos de pacotes são os seguintes. O pacote java.io contém as classes de suporte de entrada e saída. Inclui File, PrintStream, BufferInputStream, etc. O pacote java.net contém as classes relacionadas à rede. Alguns exemplos são URL, Socket, ServerSocket. O pacote java.awt contém todas as classes necessárias para criar interfaces gráficas de usuário. Esses são alguns pacotes da API Java.

Quando o programador deseja usar uma determinada classe no programa, ele deve importar esse pacote. Se o programador quiser usar a classe BufferInputStream no pacote java.io, ele deve escrever a instrução de importação da seguinte maneira.

importar java.util.BufferInoutStream;

A instrução abaixo importará todas as classes no pacote util.

importar java.util. *;

Também é possível criar pacotes definidos pelo usuário.

funcionário do pacote;

public class Employee

De acordo com o exemplo acima, empregado é o nome do pacote. A classe Employee faz parte do pacote de funcionários. Este arquivo salva como Employee.java no pacote do funcionário.

Além disso, é possível importar uma classe pública de um pacote para outro. Consulte o exemplo a seguir.

Figura 01: Classe A

Figura 02: Classe B

A classe A está no pacote 1 e contém o método público chamado display. A classe B está no pacote 2 e contém o método principal. Mesmo que eles estejam em pacotes separados; A classe B pode criar um objeto da classe A importando o package1. Após a importação do pacote 1, a classe B tem acesso aos dados e métodos da classe A.

No geral, o Package in Java ajuda a organizar os arquivos do projeto. Isso é muito útil no desenvolvimento de sistemas grandes, pois permite armazenar todos os arquivos de maneira metódica. Além disso, os pacotes da API Java permitem que os programadores usem classes já existentes.

O que é interface em Java?

Às vezes, o programador pode não conhecer a definição do método. Nessas situações, o programador pode declarar apenas o método. Um método abstrato é um método que não possui uma definição. Só tem a declaração. Quando há pelo menos um método abstrato, essa classe se torna uma classe abstrata. Além disso, a classe abstrata pode conter métodos abstratos, bem como métodos não abstratos. O programador não pode criar objetos fora das classes abstratas.

Quando uma classe estende uma classe abstrata, a nova classe deve definir todo o método abstrato na classe abstrata. Em outras palavras, suponha que a classe abstrata A tenha um método abstrato chamado display. A classe B estende a classe A. A classe B deve definir a exibição do método.

Exemplo de interface em Java

Suponha que A e B sejam classes abstratas. Se a classe C estiver estendendo A e B, essa classe C deverá definir os métodos abstratos de ambas as classes. Isso é herança múltipla. Java não suporta herança múltipla. Para implementá-lo, o programador deve usar interfaces. Se A e B são interfaces, a classe C pode implementá-las. Consulte o exemplo a seguir.

Figura 03: Interface A

Figura 04: Interface B

A interface A possui o método abstrato display1 e a interface B possui o método abstrato display2.

Figura 05: Classe C

A classe C implementa as interfaces A e B. Portanto, ele deve definir os dois métodos.

Figura 06: Método principal

Agora, no método principal, é possível criar um objeto C e chamar os dois métodos. Da mesma forma, as interfaces ajudam a implementar herança múltipla em Java.

Além da herança múltipla, as interfaces ajudam a obter a abstração. É um conceito importante em OOP. A abstração permite ocultar os detalhes da implementação e mostrar apenas a funcionalidade ao usuário. Além disso, permite focar no que o objeto faz, e não em como é feito. Como uma interface consiste em métodos abstratos, ajuda a arquivar abstrações.

Qual é a diferença entre pacote e interface em Java?

Package é um grupo de classes relacionadas que fornecem proteção de acesso e gerenciamento de namespace. Interface é um tipo de referência semelhante à classe, que é uma coleção de métodos abstratos. O pacote ajuda a categorizar as classes metodicamente para acessá-las e mantê-las facilmente. Por outro lado, a Interface ajuda a implementar várias heranças e a obter abstração. Essa é a principal diferença entre pacote e interface em Java. Além disso, a maneira de escrever um pacote é em letras minúsculas, como java.util, java.awt. Se o nome da interface for Area, então está escrito em, interface Area.

Resumo - Pacote vs Interface em Java

A diferença entre Package e Interface em Java é que o Package ajuda a categorizar as classes metodicamente para acessá-las e mantê-las facilmente, enquanto a Interface ajuda a implementar várias heranças e a obter abstração.

Referência:

Ponto 1.Tutoriais. "Pacotes Java". Tutorials Point, 24 de março de 2018. Disponível aqui 
Ponto 2.Tutoriais. "Interfaces Java". Tutorials Point, 24 de março de 2018. Disponível aqui