• Использование интерфейсов в Java?

    @Flyjshum
    Добрый день. Разбираюсь с java и не посредственно с интерфейсами. Везде читаю про удобство, но так и понять не могу преимущества. Вот например из примера выше:
    объявили класс, имплементировали интерфейс
    public class Avtobus implements Transport{    
        public void gazuem() {
            //реализация особенности как едет автобус
        }
        public void signalim() {
            //тут просто школьный Фа-Фа
        }
    }


    Далее создаем экземпляр и вызываем метод.
    Transport avtobus = new Avtobus();
    avtobus.signalim(); // Фа-Фа


    В чем профит в отличии от следующей реализации:
    public class Avtobus {    
        public void gazuem() {
          // реализация как газует автобус
        }
        public void signalim() {
            //тут просто школьный Фа-Фа
        }
    }


    Avtobus avtobus = new Avtobus();
    avtobus.signalim(); // Фа-Фа



    мне так и так реализовывать функционал сигнал в классе. В чем толк от интерфейса?
    Спасибо