I've just started to learn Java a month or so ago, and now have a problem with "non-static variable studentList cannot be referenced from a static context". I'm trying to have a separate method from main to populate the list of students, instead of copy pasting stuff from addStudent for each student; but I cannot get the methods to write to the ArrayList. (Error:(14, 27) java: non-static variable studentList cannot be referenced from a static context). I understand how the array is not static because it has an undefined size, but how could I make it work as is? Is there any better approach? Could I have the array be part of the main method and then have it passed on to addStudent, if so how?
import java.util.ArrayList;
public class Main {
    ArrayList<Student> studentList = new ArrayList<>();
    public static void main(String []args) {
        addStudent("Adam", "Goldsmith", 70, 50);
        addStudent("John", "Smith", 20, 40);
        addStudent("Lewis", "Peterson", 90, 85);
        for (Student obj: studentList){
            System.out.println("Name: " + obj.studentForename + " "+ obj.studentSurname);
        }
    }
    public static void addStudent(String forename, String surname, int coursework, int test) {
        Student newStudent = new Student(forename, surname);
        newStudent.setForename(forename);
        newStudent.setSurname(surname);
        newStudent.averageMark(70, 65);
        studentList.add(newStudent);
    }
}
and my "Student" Class:
public class Student {
    String studentForename;
    String studentSurname;
    public Student(String studentForename, String studentSurname) {
        setForename(studentForename);
        setSurname(studentSurname);
    }
    // Set forename.
    public void setForename(String newForename) {studentForename = newForename;}
    // Set surname.
    public void setSurname(String newSurname) {studentSurname = newSurname;}
    //
    public double averageMark(int courseworkMark, int testMark){
        return (courseworkMark+testMark)/2;
    }
    // Grab the forename
    public String grabForename(){
        return studentForename;
    }
    // Grab the surname
    public String grabSurname(){
        return studentSurname;
    }
    // Grab the full name
    public String grabFullName(){
        return studentForename + "" + studentSurname;
    }
}