Błąd w kodzie: “must implement inherited abstract method”

0

Cześć, tworzę program, w którym za zadanie mam stworzyć listę jednokierunkową. Stworzyłem sobie dwa interfejsy:

package Listy;

public interface Iterator
{
   public void next();
   public void first();
   public boolean isDone();
   public Student current();
}
 

oraz

 package Listy;

public interface interfaceList extends Iterator
{
    // dodaj na wskazaną pozycję
    public void insert(int index, Student value) throws IndexOutOfBoundsException;

    // dodaj na koniec
    public void add(Student value);

    //usuń element ze wskazanej pozycji
    public Student delete(int index) throws IndexOutOfBoundsException;

    // usuń pierwsze wystąpienie wskazanej wartości
    public boolean delete(Student value);

    // usuń wszystkie elementy
    public void clear();

    // zmień element na wskazanej pozycji
    public Student set(int index, Student value) throws IndexOutOfBoundsException;
    // daj wartość wskazanego elementu
    public Student get(int index) throws IndexOutOfBoundsException;

    // znajdź pozycję podanej wartości; -1 gdy nie ma
    public int indexOf(Student value);

    // czy dana wartość występuje na liście
    public boolean contains(Student value);

    // liczba elementów na liście
    public int size();

    // czy pusta lista
    public boolean isEmpty();
}


I teraz w klasie lista, chcę zaimplementować metody z tych interfejsów:

 package Listy;

public class Lista implements interfaceList {
	// dodaj na wskazaną pozycję
    public void insert(int index, Student value) throws IndexOutOfBoundsException{}

    // dodaj na koniec
    public void add(Student value){}
    
    //usuń element ze wskazanej pozycji
    public Student delete(int indeks) throws IndexOutOfBoundsException{}

    // usuń pierwsze wystąpienie wskazanej wartości
    public boolean delete(Student value){}

    // usuń wszystkie elementy
    public void clear(){}

    // zmień element na wskazanej pozycji
    public Student set(int index, Student value) throws IndexOutOfBoundsException{}
    // daj wartość wskazanego elementu
    public Student get(int index) throws IndexOutOfBoundsException{}

    // znajdź pozycję podanej wartości; -1 gdy nie ma
    public int indexOf(Student value){}

    // czy dana wartość występuje na liście
    public boolean contains(Student value){}

    // liczba elementów na liście
    public int size(){}

    // czy pusta lista
    public boolean isEmpty(){}
}

Problem polega na tym, że pojawia się u mnie błąd postaci: The type Lista must implement the inherited abstract method interfaceList.indexOf(Object)
Wie ktoś jak naprawić ten błąd?

0

Nie możesz tak po prostu zmienić object na student i liczyć, że zadziała :) zmieniłeś sygnaturę, więc set z InterfaceList zostało nietknięte

0

Racja Panie :) Pozmieniałem Object'a na Studenta, ale teraz czepia się metody indexOf() ;/

The type Lista must implement the inherited abstract method interfaceList.indexOf(Object)

Proszę o pomoc

EDIT: Dobra udało się :D hehe ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1