Когда я создаю определение класса Java, я могу использовать private
, public
, protected
и другие ключевые слова для управления доступом к членам и методам:
public class Bowel{
private Movement privatePoop = new Movement(1);
public Movement publicPoop = new Movement(2);
...
}
Что компилятор делает по-другому, когда создает байт-код для метода и члена privatePoop
и publicPoop
? Если кто-то извне пытается получить доступ к privatePoop
, как он узнает / означает, что JVM не может этого сделать?