Может ли статический метод вызывать не статический?
Вы создали экземпляр класса Main и вызвали метод экземпляра через ссылку на объект. В статическом методе могут вызываться методы экземпляра, если в нем создан сам экземпляр.public static void main(String[] args) {
        //создание экземпляра и помещение ссылки на экземпляр в переменную m1
        Main m1 = new Main();
       //теперь через m1 есть доступ к методу nonStaticF1()
        System.out.println(m1.nonStaticF1());
    }
P. S. Пустые скобки при вызове метода без аргументов - обязательны. //nonStaticF1().
Нестатические методы - методы экземпляра класса.
Статические методы - методы самого класса.
Статический метод, не имея в распоряжении экземпляра класса, не может вызывать нестатический метод непонятно кого.
Имея экземпляр класса (m1 в примере) можно пользоваться его нестатическими методами откуда угодно.