Как правильно реализовать переопределенный метод из Interface?

Метод:

@Override
public void addProduct(String product, int quantity) {
    ...
}

Метод из interface:

void addProduct(String product, int quantity);

Ответы (1 шт):

Автор решения: Artur Vartanyan

Допустим, у нас имеется интерфейс Market. У него есть метод addProduct(). Если метод не default, то мы пишем ему только параметры, без тела. После чего, при имплементации данного интерфейса, мы должны будем(обязаны) реализовать все методы интерфейса.

Пример:

public interface Market {

   void addProduct(String product, int quantity);

}

Есть класс работника магазина, который реализует данный интерфейс и его методы, соответственно:

public class MarketWorker implements Market {

   @Override
   public void addProduct(String product, int quantity) {
      System.out.println("Продукт: " + product + " имеется в количестве: " + quantity + " штук.")
   }
}

Теперь, если в классе Main вызовем данный метод у работника и передадим параметры, он выведет нам переопределенный метод:

public class Main {
   public static void main(String[] main) {
      
      MarketWorker worker  = new MarketWorker();
      worker.addProdct("Сыр", 5);
   }
}
→ Ссылка