Setters e Getters de programação orientada a objetos Java

Desde que eu estudei programação sozinho, achei que deveria começar a criar classes e variáveis apropriadas, mas parece que não entendi direito.

Eu li que primeiro eu preciso e Interface, então fiz o meu parecer assim:

public interface PitchInterface {
    void setOccuranceTime(float occuranceTime);
    float getOccuranceTime();
    void setPitch(float pitch);
    float getPitch();
}

Em segundo lugar, fiz uma aula queimplements aInterface:

public class Pitch implements PitchInterface{

    float occuranceTime;
    float pitch;

    @Override
    public void setOccuranceTime(float occuranceTime) {
        this.occuranceTime = occuranceTime;
    }

    @Override
    public float getOccuranceTime() {
        return occuranceTime;
    }

    @Override
    public void setPitch(float pitch) {
        this.pitch = pitch;
    }

    @Override
    public float getPitch() {
        return pitch;
    }
}

Agora preciso dar valores ao Pitch it e é aqui que estou preso no momento.

public class Foo {

    Pitch pitch = new Pitch();
    String[] pitches;
    List<Pitch> listOfPitches = new ArrayList<Pitch>();
    List<String> wordsList = new ArrayList<String>();

public List<Pitch> getListOfPitches(){
    getPitches();
    for (String pitchString: pitches) {
        makeListOfPitches(pitch, pitchString);
    }
    return listOfPitches;
}

public void makeListOfPitches(Pitch pitch, String pitchString){
    pitch.setPitch(getPitchesInfo(pitchString, 0));
    pitch.setOccuranceTime(getPitchesInfo(pitchString, 1));
    listOfPitches.add(pitch);
}

    public List<String> getWordsList(){
        //To-do make words out of Pitches and add them to list
        return wordsList;
    }



    public String[] getPitches() {
        pitches = pitchesRaw.split("\\r?\\n");
        return pitches;
    }

    private float getPitchesInfo(String pitch, int position){
        String[] frequencyAndTime = pitch.split("\\:");
        if(position == 0){
            return Float.parseFloat(frequencyAndTime[0].replace(',', '.'));
        }
        if(position == 1){
            return Float.parseFloat(frequencyAndTime[1].replace(',', '.'));
        }
        else return 0;
    }

    String pitchesRaw = "0,14:23281,61\n" +
            "0,23:53,65\n" +
            "0,37:72,53\n" +
            "0,56:86,09\n" +
            "0,60:88,58\n" +
            "0,65:87,45\n" +
            "0,70:87,11\n" +
            "0,74:89,56\n" +
            "0,79:96,22\n" +
            "0,84:23288,24\n" +
            "0,88:103,92\n" +
            "0,93:107,46\n" +
            "0,98:108,02\n" +
            "1,02:107,51\n" +
            "1,07:104,92\n" +
            "1,11:105,94\n" +
            "1,16:106,40\n";
    }

E, finalmente, inicializá-lo de alguma classe principal:

public static void main(String[] args) {
    Foo listOfWordsAndPithes = new Foo();
    List<Pitch> list = listOfWordsAndPithes.getListOfPitches();
    for (Pitch pitch: list) {
        System.out.println(pitch.getPitch());
    }
}

Não tenho certeza se estou pedindo demais, mas gostaria de entender como oclasses funcione corretamente em Java e se eu entendi as classes e interfaces da maneira correta. Também como fazer novasPitches, get them eiterate sobre eles

EDITAR: Editado oFoo classe como foi sugerido nos comentários e não apresenta erros agora. Ainda existem duas coisas que eu não entendo.
First se eu imprimir todos os arremessos que eu deveria ter, isso me dará apenas o arremesso da última String adicionada, mas todos eles deverão ser diferentes.
Secondly se eu precisar fazer umawords list fora de campo, adicionando váriosPitches em uma lista (por exemplo, adicione 6 campos diferentes em 1 lista) e, em seguida, adicione-osPitches em outra lista que seria o primeiro elemento de uma nova lista. Então eu preciso fazer outraclass chamadoWord e definir lá o que é a palavra e como configurá-la / obtê-la?
ThirdlyLi nos comentários que o uso da Interface aqui não é necessário. Quando sei se não há problema em usar uma interface e quando não?

questionAnswers(0)

yourAnswerToTheQuestion