Совокупность всей информации о типах в любой конкретный момент называется состоянием типов стека; именно его Java анализирует перед запуском приложения. Java ничего не знает о фактических значениях, хранящихся в стеке и в переменных; известны только их типы. Однако этой информации достаточно для соблюдения правил безопасности и для уверенности в том, что с объектами не будут выполняться некорректные операции.
Одно дело — создать язык, который мешает вам «выстрелить себе в ногу», и совсем другое — создать язык, который помешает кому-то другому «выстрелить вам в ногу».
Специальная, доступная только для чтения переменная this используется для явных обращений к объекту (к контексту «этого» объекта) при вызове addMouseMotionListener(). Метод может использовать this для обращения к экземпляру объекта, которому он принадлежит. Таким образом, следующие команды эквивалентны — обе присваивают значение переменной экземпляра theMessage:
Специальная, доступная только для чтения переменная this используется для явных обращений к объекту (к контексту «этого» объекта) при вызове addMouseMotionListener(). Метод может использовать this для обращения к экземпляру объекта, которому он принадлежит. Таким образом, следующие команды эквивалентны — обе присваивают значение переменной экземпляра theMessage:
переменные объявляются в фигурных скобках в определении класса, но не внутри какого-либо конкретного метода в этом классе. Такие переменные называются переменными экземпляра и принадлежат всему объекту в целом. Копии таких переменных присутствуют в каждом отдельном экземпляре класса. Переменные экземпляра всегда видны и могут использоваться методами внутри своего класса. В зависимости от своих модификаторов они также могут быть доступны за пределами класса.
Пакет Java — это группа классов, родственных по функциональности или области применения. Классы одного пакета имеют особые привилегии взаимного доступа и часто разрабатываются с расчетом на тесное взаимодействие.
Класс JComponent предоставляет основу для создания всевозможных компонентов пользовательского интерфейса (GUI-компонентов). Все конкретные компоненты — кнопки, надписи, списки и т.д. — реализуются как субклассы JComponent.