На нестатический метод (имя метода ()) нельзя ссылаться из статического контекста. Зачем?
Я действительно запутался с этим! У меня 2 класса,Club а такжеMembership, В членстве у меня есть метод,getMonth(), а в клубе у меняjoinedMonth() который принимает параметр «месяц»; - поэтому пользователь вводит месяц, а затем я хочу, чтобы он возвратил членство, которое присоединилось в этот конкретный месяц.
Я пытаюсь вызвать метод getMonth () из класса Club, чтобы затем я мог сравнить целые числа месяцев. Но когда я пытаюсь вызвать метод, я просто получаю упомянутый «нестатический метод getMonth (), на который нельзя ссылаться из статического контекста».
В принципе, что это такое и как я могу решить это?
Заранее спасибо!
Клуб:
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();
}
}
Состав:
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;
}
}