Статический метод доступа к нестатическому конструктору?

Вчера у меня был экзамен по Java. Есть кое-что, что кажется мне действительно двусмысленным.

Правила просты:

  1. Статический метод не может вызывать нестатические методы.
  2. Конструкторы — это что-то вроде методабез возвращаемого типа.

    открытый класс Main {
    public static void main(String[] args) {
    Основной р = новый Основной();
    к();
     }
    
    защищенный основной () {
    Система.out.print("1234");
     }
    
    защищенная пустота k () {
     }
    }
    
    Main p = новая строка Main() выводит 1234
    строка k() вызывает ошибку
    

Так почему же это произошло? Не противоречит ли это приведенным выше правилам Java?

9
задан aioobe 10 August 2015 в 14:59
поделиться