1. Интерфейс определяет что должен делать компонент реализующий его. Другими словами - это правила. А класс - это обьект, который его реализует, т.е. каким-то конкретными образом выполняет его.
Используя интерфейс вместо конкретного класса в аргументах метода вы тем самым оставляете возможность использовать другой класс в этом методе без изменения кода этого метода.
Если не понимаете зачем нужен интерфейс - не парьтесь, используйте класс в методе.