Регистрация
22 Ноя 2013
Сообщения
93
Репутация
1
Спасибо
0
Монет
0
252457649_8c3be4cdfdfca839992074ad88d0c664_800.png

Interface abstract methods cannot have body

Как быть?
 
Логично. У тебя два метода одинаково названы. Измени название второго и норм всё будет.
UDP:
Почитал и оказалось, что абстрактные методы интерфейса не должны иметь тела. Попробуй создать два java скрипта. Первый MyArray.java:

public interface MyArray {
int findMax();
int findMin();
} И второй, Main.java:

public class Main implements MyArray {
public static void main(String[] args) {
Main obj = new Main();
System.out.println("Maximum value: " + obj.findMax());
System.out.println("Minimum value: " + obj.findMin());
}

@Override
public int findMax() {
int[] arr = {1, 2, 3, 4, 5};
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr > max) {
max = arr;
}
}
return max;
}

@Override
public int findMin() {
int[] arr = {1, 2, 3, 4, 5};
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr < min) {
min = arr;
}
}
return min;
}
} И всё, методы будут спокойно взаимодействовать между собой, потому что они объявлены как публичные.
 
а разве ; нужно тут }; да еще и две одинаковых конструкции
 
Interface abstract methods cannot have body - интерфейсы могут содержать только абстрактные методы без тел
Вы объявили в интерфейсе обычные методы с телом. Так нельзя
Либо делайте их дефолтными default int findMax() {
...
} Либо оставляйте их без тела абстрактными, а реализацию делайте в классе, который будет реализовывать ваш интерфейс

Либо вы делаете не интерфейс, а класс
 
Назад
Сверху