Ваш драйвер должен инициализировать ваш список в нем конструктором по умолчанию, который не определен, поэтому он является пустым конструктором по умолчанию:
public Driver() {
// empty constructor
}
, чтобы получить ожидаемый результат, который ваш класс драйверов будет:
public class Driver {
private static RandomObtainableList<Integer> list;
public Driver() {
list = new RandomObtainableList<>();
list.add(1);
list.add(2);
}
public RandomObtainableList getList() {
return this.list;
}
}
Важно инкапсулировать доступ к свойствам класса с помощью методов получения / установки. Свойства останутся закрытыми и доступны только напрямую из определяющего их класса.
Также ваша точка входа main
должна быть объявлена в отдельном классе. Главный например
public class Main {
public static void main(String[] args){
Driver d = new Driver();
Integer i = list.getRandom();
boolean b = list.removeRandom();
System.out.println("Element retrieved: " +i);
System.out.println("Element removed: " +b);
}
}