El método no estático (nombre de método ()) no puede ser referenciado desde un contexto estático. ¿Por qué?

Estoy realmente confundido con esto! Tengo 2 clases,Club yAfiliación. En Membresía tengo el método,getMonth (), y en el Club tengoensambladoMonth () que toma el parámetro, 'mes', por lo que un usuario ingresa un mes y luego quiero que devuelva las Membresías que se unieron en ese mes específico.

Estoy tratando de llamar al método getMonth () de la clase Club, para poder luego comparar los números enteros de los meses. Pero, cuando trato de llamar al método, solo obtengo el mencionado "método no estático getMonth () que no puede ser referenciado desde un contexto estático".

Básicamente, ¿qué es esto y cómo puedo resolverlo?

¡Gracias de antemano!

Club:

public class Club
{
    private ArrayList<Membership> members;
    private int month;

    /**
     * Constructor for objects of class Club
     */
    public Club()
    {
        // Initialise any fields here ...

    }

    /**
     * Add a new member to the club's list of members.
     * @param member The member object to be added.
     */
    public void join(Membership member)
    {
        members.add(member);
    }

    /**
     * @return The number of members (Membership objects) in
     *         the club.
     */
    public int numberOfMembers()
    {
        return members.size();
    }


        /**
    * Determine the number of members who joined in the given month
    * @param month The month we are interested in.
    * @return The number of members
    */
    public int joinedMonth(int month){

        Membership.getMonth();

    }



}

Afiliación:

public class Membership
{
    // The name of the member.
    private String name;
    // The month in which the membership was taken out.
    public int month;
    // The year in which the membership was taken out.
    private int year;

    /**
     * Constructor for objects of class Membership.
     * @param name The name of the member.
     * @param month The month in which they joined. (1 ... 12)
     * @param year The year in which they joined.
     */
    public Membership(String name, int month, int year)
        throws IllegalArgumentException
    {
        if(month < 1 || month > 12) {
            throw new IllegalArgumentException(
                "Month " + month + " out of range. Must be in the range 1 ... 12");
        }
        this.name = name;
        this.month = month;
        this.year = year;
    }

    /**
     * @return The member's name.
     */
    public String getName()
    {
        return name;
    }

    /**
     * @return The month in which the member joined.
     *         A value in the range 1 ... 12
     */
    public int getMonth()
    {
        return month;
    }

    /**
     * @return The year in which the member joined.
     */
    public int getYear()
    {
        return year;
    }

    /**
     * @return A string representation of this membership.
     */
    public String toString()
    {
        return "Name: " + name +
               " joined in month " +
               month + " of " + year;
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta