JVM и частные методы

Я новичок в Java. Первое, что я узнал, это то, что метод main () исполняемого класса должен быть public , и причина была в том, что этот метод будет вызываться JVM , он должен быть виден за пределами класс и, следовательно, должны быть общедоступными.Теперь, изучая сериализацию, я обнаружил, что частные методы writeObject () и readObject () класса Serializable могут быть вызваны JVM во время сериализации и де- сериализация объекта! Если это частные методы, то как JVM может их вызвать? Если это возможно, то почему он не может вызвать метод main ()?

После просмотра некоторой документации по java я прочитал эту строку «JVM может получить доступ к частным методам объекта». Поскольку мы вызываем readObject () с использованием экземпляра ObjectInputStream, поэтому он доступен для JVM, тогда как метод main (), являющийся статическим методом или методом класса и вызываемый без создания экземпляра любого объекта класса, должен быть общедоступным, чтобы быть доступным для JVM! Имеет ли это смысл ? Я не знаю .

5
задан NINCOMPOOP 1 August 2013 в 07:51
поделиться