No se si te entendí bien pero pues para inicializar un arraylist es de la siguiente manera:
ArrayList<Asignaturas> listaAsignaturas = new ArrayList();
Y si quieres hacer un método consta de las siguientes partes:
private ArrayList<Asignatura> ArrayAsignaturas(){
}
1.- Para empezar esta el nivel de privilegios que son (private, protected y public) de los cuales depende la disposición de tu método fuera de tu clase, por ejemplo si es private solo puedes utilizar el método dentro de la clase y si es publico puedes utilizar el método en una instancia de la misma clase el protected es un poco mas complejo porque su nivel de privilegio es intermedio a los dos anteriores
2.- La segunda parte es el tipo de dato que regresara el método:
Void = no regresa ningún dato
int, double, String, boolean... = tipos de datos primitivos
Array<>, ArrayList<>, int[], String[]... = objetos enumerábles
Object = cualquier tipo de dato
Clases (Asignatura) = creadas por el desarrollador
3.- El siguiente es el nombre de método, ejemplo (ArrayAsignaturas)
4.- Por ultimo entre los paréntesis se declaran los parámetros de entrada, puedes declarar los mismos tipos de datos que te mencione antes
* recuerda que si haces un método que regrese un tipo de dato diferente a void la ultima linea que debe tener tu metodo es un return seguido de un objeto del mismo tipo que pretendes devolver