esoe
2 years ago
14 changed files with 82 additions and 1 deletions
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
[encoding](https://stackoverflow.com/questions/10363188/unicode-in-javadoc-and-comments) |
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
[jgit in examles](https://www.demo2s.com/java/java-eclipse-jgit-fetchcommand-tutorial-with-examples.html) |
@ -0,0 +1,2 @@
@@ -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,4 @@
|
||||
# Абстракция |
||||
# Инкапсуляция |
||||
# Наследование |
||||
# Полиморфизм |
@ -0,0 +1,72 @@
@@ -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