
- •Jdk и виртуальная машина java
- •Примитивные типы
- •Классы java. Понятие объекта.
- •Основные принципы ооп
- •Передача параметров по значению и по ссылке
- •Типы комментариев в java.
- •Модификаторы доступа
- •Наследование
- •Интерфейсы
- •Абстрактные классы
- •Константы
- •Работа со строками
- •Коллекции
- •Утилиты
- •Swing компоненты
- •Менеджер расположения
- •Система обработки событий
- •Потоки ввода и вывода
- •Сериализация
- •Обработка исключительных ситуаций
- •Вложенные классы
Передача параметров по значению и по ссылке
Передача по ссылке подразумевает передачу ссылки на объект. В этом случае реализация метода потенциально может модифицировать переданный объект (например, вызвав метод, изменяющий состояние объекта).
В случае передачи по значению параметр копируется. Изменение параметра не будет заметно на вызывающей стороне.
В Java объекты всегда передаются по ссылке, а примитивы - по значению
После создания объектов, нам часто приходится вызывать их методы и обращаться к их полям, для этого мы сохраняем ссылки на экземпляры объектов в переменные. При этом может получится, что на один объект существует несколько ссылок:
class TestObject
{int var = 0;}
TestObject testObject = new TestObject();
TestObject sameObject = testObject;
После таких манипуляций мы получаем 2 переменные testObject и sameObject ссылающиеся на один и тот же участок в памяти, т.к. копия объекта при присваивании не создаётся.
С точки зрения последующего использования обе ссылки абсолютно равнозначны.
Сам объект не зависит от того какие ссылки на него существуют.
Типы комментариев в java.
Есть два типа комментариев в Java. Первый: комментарий начинается с /* и распространяется на много линий, пока не встретится */.
/* Это комментарий,
* который распространяется
* на несколько строк
*/
Второй: однострочный комментарий, который начинается с // и продолжается до конца линии.
// Это однострочный комментарий
Модификаторы доступа
Инкапсуляция подразумевает, что «пользователь», в данным случае это программист использующий код, должен иметь лишь несколько «точек доступа» к этому коду. В качестве таких точек выступают общедоступные методы, однако кроме них в классах могут присутствовать закрытые методы – некие промежуточные методы, совершающие конкретные операции, которые, собственно, и инкапсулируются. При этом возможность доступа определяется по месту в иерархии классов из которой этот доступ производится.
Private -Доступ для самого класса и классов в том же пакете
Protected-Доступ в пределах самого класса, классов-наследников
и классов пакета
public-Доступ есть всегда, когда доступен сам класс
Наследование
Наследование не что иное, как приобретение свойства другого объекта или класса. Наследование в Java осуществлено отношениями подкласса и суперкласса. Суперкласс - это класс, от которого будет происходить наследование, и подкласс - это класс, который наследовал качества суперкласса. Когда наследование осуществлено, подкласс получает свойства суперкласса плюс его собственные свойства. Например, рассмотрите классы Транспортное средство и Скутер. Свойства класса Транспортное средство - скорость, вместимость, а свойства класса Скутера - вместимость бензина, механизм. Класс Скутер унаследован от класса Транспортное средство. Тогда класс Транспортное средство становится суперклассом, а класс Скутера становится подклассом. Класс Скутера получает свойства (скорость, вместимость) класса Транспортного средства, плюс он имеет свои собственные свойства (вместимость бензина, механизм). Таким образом, подкласс содержит собственные свойства, так же как и его суперкласс.
Ключевое слово super используется объектом в качестве ссылки к методам и полям класса, который это расширило. Оно является основной частью осуществления наследования и полиморфизма. Наиболее часто это ключевое слово используется в конструкторе объекта, чтобы передать параметры конструкции цепочки наследования.
Подклассы могут вызывать друг друга по ключевому слову this.