As palavras-chave estende e implementos, ambos são usados para executar o conceito de herança de , no entanto, há uma diferença sutil entre eles. Este artigo sobre extensões vs implementos em Java ajudará você a entender as principais diferenças entre essas palavras-chave.
Os tópicos discutidos neste artigo são:
Para entender melhor odiferença entre estende e implementa, você também precisa aprender e compreender o diferença entre classe abstrata e interface em Java.
estende a palavra-chave
Quando uma subclasse estende outra classe , permite que a subclasse herde (ou seja, reutilize) e substitua o código definido no supertipo. Em termos simples, usando a palavra-chave extends, uma classe recém-criada (subclasse) pode herdar os recursos de uma classe existente (superclasse). Além disso, podesubstituir o definido em uma superclasse. Uma classe nunca pode estender mais de uma superclasse em Java.Aqui está um demonstrando a classe abstrata:
pacote MyPackage classe A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} classe B estende A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Bem-vindo', 'Para Edureka') ob.display ()}}
Resultado: Bem-vinda
Para Edureka
Explicação: No código acima, você pode observar que a classe B estendeu a classe A, tem acesso ao método display () e substituiu o método display () definido na classe A. Este imenso poder vem com o uso da palavra-chave extends.
implementa a palavra-chave
Quando uma aulaimplementosuma interface, ela deve fornecer uma implementação de todos os métodos declarados dentro de um interface . Se a classe não deseja fornecer implementação, ela pode se declarar como um classe abstrata . Além disso, uma interface nunca pode implementar outra interface, pois implementar significa definir os métodos e a interface sempre tem métodos abstratos, de modo que uma interface nunca pode implementar outra interface.Aqui está um programa de exemplo que demonstra a classe abstrata:
pacote MyPackage interface XYZ {void display (String s) void show (int i)} class Demo implementa XYZ {public void show (int i) {System.out.println ('valor inteiro:' + i)} public void display ( String s) {System.out.println ('string value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .show (2)}}
Resultado:
escrever um intérprete em java
valor da string: TechDifferences valor inteiro: 2
No código acima, você pode observar que a classe Demoimplementa dois métodos declarados na interface XYZ.
Pelo conteúdo acima, você deve ter notado a principal diferença entre estende e implementa em . Agora, vamos listar outras diferenças.
estende vs implementa
A tabela a seguir lista as principais diferenças entre as palavras-chave extends e implements.
Recursos de comparação | Estende | Implementos |
Implementação | Uma classe pode herdar outra classe ou uma interface pode herdar outras interfaces usando uma palavra-chave extends java mudar duplo para int | Uma classe pode implementar uma interface usando implementos de palavras-chave |
Método | A subclasse que estende uma superclasse pode ou não substituir todos os métodos em uma superclasse | A classe que implementa uma interface deve implementar todos os métodos dessa interface. |
Classe | Uma classe pode estender apenas uma superclasse. | Uma classe pode implementar qualquer número de uma interface ao mesmo tempo |
Interface | Uma interface pode estender qualquer número de interfaces | Uma interface nunca pode implementar qualquer outra interface como criar uma classe singleton em java |
Bem, agora você conhece as principais diferenças entre extensões e implementos em
Isso nos leva ao fim desteestende vs implementa no artigo Java. Analisamos as principais diferenças entre as palavras-chave extends e implements. Para concluir, ambos são usados para executar oConceito de herança de Java, mas de maneiras diferentes.
Pratique o máximo possível e reverta sua experiência.
Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos uma pergunta além dessa entrevista java, nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.
Tem alguma questão para nós? Mencione isso na seção de comentários deste 'extends vs implements in Java' e entraremos em contato com você o mais rápido possível.