esoe
2 years ago
14 changed files with 82 additions and 1 deletions
@ -0,0 +1 @@ |
|||||||
|
[encoding](https://stackoverflow.com/questions/10363188/unicode-in-javadoc-and-comments) |
@ -0,0 +1 @@ |
|||||||
|
[jgit in examles](https://www.demo2s.com/java/java-eclipse-jgit-fetchcommand-tutorial-with-examples.html) |
@ -0,0 +1,2 @@ |
|||||||
|
# Статьи о применении json в java-проектах |
||||||
|
* [habr - json to POJO](https://habr.com/ru/company/otus/blog/687004/) |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@ |
|||||||
|
# Абстракция |
||||||
|
# Инкапсуляция |
||||||
|
# Наследование |
||||||
|
# Полиморфизм |
@ -0,0 +1,72 @@ |
|||||||
|
# Определение класса |
||||||
|
Класс - пользоватльский тип данных (структура и поведение) |
||||||
|
Простейшее определение: |
||||||
|
class A{} |
||||||
|
|
||||||
|
спецификатор class Name extends имя_суперкласса implements список_интерфейсов { |
||||||
|
члены класса - поля / атрибуты класса (данные) --> экземплярные/статические |
||||||
|
спецификаторы / модификаторы доступа |
||||||
|
------------ |
||||||
|
переменные |
||||||
|
методы |
||||||
|
конструкторы |
||||||
|
------------ |
||||||
|
модификатор_доступа спецификатор тип имя = инициализирующее выражение; |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
# Определение метода |
||||||
|
модификатор_доступа спецификаторы тип_возвращаемого_значения имя_метода (список_формальных_параметров) throws список_исключений { |
||||||
|
//тело метода |
||||||
|
} |
||||||
|
|
||||||
|
# Определение конструктора |
||||||
|
модификатор_доступа имя_конструктора(список_параметров) throws список исключений { |
||||||
|
тело конструктора |
||||||
|
} |
||||||
|
имя конструктора всегда совпадает с именем класса, пишется с заглавной буквы |
||||||
|
|
||||||
|
# Спецификатор доступа |
||||||
|
public - глобальная область, видит вся программа |
||||||
|
protected - видимость внутри пакета, а также наследникам |
||||||
|
private - видимость внутри класса (объект видит поля других объектов этого класса) |
||||||
|
default - видимость внутри пакета |
||||||
|
local - видимость внутри фигурных скобок |
||||||
|
|
||||||
|
package - именованная группа пользовательских типов (каталог) |
||||||
|
Область видисости класса может быть: public, default |
||||||
|
|
||||||
|
всегда объявляем минимальный необходимый уровень доступа. |
||||||
|
|
||||||
|
# Создание объекта |
||||||
|
new - специальная операция |
||||||
|
- выделение области памяти |
||||||
|
- инициализация (new дает ссылку на новый объект) |
||||||
|
|
||||||
|
Способы создания экземпляра класса: |
||||||
|
* new A(список_аргументов) |
||||||
|
* this A(список_аргументов) |
||||||
|
|
||||||
|
## При вызове конструктора |
||||||
|
- выполняются статические поля и области класса |
||||||
|
- выполняются экземплярные поля класса |
||||||
|
- вызывается конструктор родительского класса |
||||||
|
- вызывается конструктор класса |
||||||
|
|
||||||
|
Конструктор класса вызывается в последнюю очередь!!! |
||||||
|
|
||||||
|
## Перегрузка методов и конструкторов |
||||||
|
При перегрузке конструктора ключевыми моментами оказываются: |
||||||
|
- количество параметров |
||||||
|
- типы параметров |
||||||
|
- последовательность параметров |
||||||
|
|
||||||
|
Разные конструкторы: |
||||||
|
* void a(){} |
||||||
|
* void a(A a){} |
||||||
|
* void a(A a, B a){} |
||||||
|
* void a(B a, A a){} |
||||||
|
|
||||||
|
# Дублирование кода |
||||||
|
* усложняет проведение изменений |
||||||
|
* увеличивает объем тестирования |
Loading…
Reference in new issue