Duvida sobre Interface

Olá, estou estudando e interfaces e me deparei com esse códigos:

public interface Interface1 {
default void metodo(){
System.out.println(“Interface1”);

}

}

public interface Interface2 {

default void metodo(){
    System.out.println("Interface2");
}

}

public class Classe implements Interface1, Interface2 {

public void metodo() {}

public void metodo1() {
    Interface1.super.metodo();

}

public void metodo2() {
    Interface2.super.metodo();
}

}

public class Principal {
public static void main(String[] args) {
Classe c = new Classe();
c.metodo();
c.metodo1();
c.metodo2();
}
}


Eu executei esse programa e vi que ele imprime: Interface 1 e Interface 2, minhas duvidas:

1 - Pode ter implementação de método na Interface? Só não pode implementar método estático?

2 -)Chamada a super não incoca o construtor? Interface tem construtor?

Obrigada

Intrface:Define um conjunto de metodos que são implementados por uma classe.
Nehum metodo é implementado pela interface.
N classes podem implementar n interfaces
palavra chave:implements e interface
atributos serão sempre public static final.

Espero ter ajudado.

Basicamente é pq todos os métodos de uma interface sao abstratos e metodos abstratos nao podem ser staticos.

A partir do Java 8, foi introduzido o conceito de implementação default para Interfaces. Mas você continua não podendo instanciar uma interface.

1 curtida

1 - Pode ter implementação de método na Interface? Só não pode implementar método estático?

Você pode implementar metodos, mas geralmente eles não tem corpo ex, void gerar();
caso queira colocar corpo voce usa o default, ou seja, um metodo padrão como qualquer outro. O static não faria sentido você colocar, primeiro você não instancia Interface e nem usa referencia de classe ex, Interface.metodo(); ja que implementando interfaces você obrigatoriamente deve implementar os metodos dela em sua classe.

2 -)Chamada a super não incoca o construtor? Interface tem construtor?

Interface não tem construtor, porque tudo é construído na classe que a implementa, Construido quero dizer usados, ou iniciados