¿Cómo escribo un método compareTo que compara objetos?

Estoy aprendiendo sobre matrices, y básicamente tengo una matriz que recopila un apellido, un nombre y una puntuación.

Necesito escribir uncompareTo método que comparará el apellido y luego el primer nombre para que la lista pueda ordenarse alfabéticamente comenzando con los apellidos, y luego, si dos personas tienen el mismo apellido, se ordenará el primer nombre.

Estoy confundido, porque toda la información en mi libro está comparando números, no objetos y cadenas.

Aquí está lo que he codificado hasta ahora. Sé que está mal, pero al menos explica lo que creo que estoy haciendo:

public int compare(Object obj) // creating a method to compare 
{   
    Student s = (Student) obj; // creating a student object

    // I guess here I'm telling it to compare the last names?
    int studentCompare = this.lastName.compareTo(s.getLastName()); 

    if (studentCompare != 0)
        return studentCompare;
    else 
    {
        if (this.getLastName() < s.getLastName())
            return - 1;

        if (this.getLastName() > s.getLastName())
            return 1;
    }
    return 0;
}

Sé que el<&nbsp;y>&nbsp;los símbolos son incorrectos, pero como dije, mi libro solo muestra cómo usar elcompareTo.