refactor: wiki links -> md links
deploy / Pull and Restart (push) Successful in 17s

This commit is contained in:
roma-dxunvrs
2026-09-22 08:52:23 +03:00
parent 6421fd3a48
commit 0e6e583e6d
169 changed files with 527 additions and 527 deletions
@@ -3,7 +3,7 @@
- приватные финальные поля
- конструктор
- геттеры
Переопределяются методы [[Класс Object|Object]]
Переопределяются методы [Object](Класс%20Object.md)
Можно добавить:
- компактный конструктор
- методы
@@ -13,7 +13,7 @@ public class Empty extends Object {
1. `public String toString()` - строковое представление объекта.
- Реализация по умолчанию: `ИмяКласса@хэшкод`
- Переопределять для красивого вывода
- [[Record]] автоматически переопределяет
- [Record](Record.md) автоматически переопределяет
2. `public boolean equals(Object obj)` - эквивалентность двух обхектов
- `==` - сравнивает ссылки
- По умолчанию `equals` тоже сравнивает ссылки, так что лучше переопределить
@@ -25,13 +25,13 @@ public class Empty extends Object {
5. Сравнение с null: `x.equals(null) == null // ВСЕГДА false`
3. `public int hashCode()` - числовое значение для эффективной работы хэш-таблиц
- Реализация по умолчанию: вычисление на основе адреса
- Используется в [[HashMap]]
- Между `equals` и `hashCode` должен соблюдаться определенный [[Контракт между equals и hashCode|контракт]]
- Используется в [HashMap](../../Коллекции/HashMap.md)
- Между `equals` и `hashCode` должен соблюдаться определенный [контракт](Контракт%20между%20equals%20и%20hashCode.md)
4. `public final native Class<?> getClass()` - возвращает метаданные объекта во время выполнения
- Основа для [[Reflection API|рефлексии]]
- Основа для [рефлексии](../../Рефлексия/Reflection%20API.md)
5. `protected native Object clone() thows CloneNotSupportedException` - создает и возвращает копию объекта
- По умолчанию: shallow копия
- Условие использования: реализация `Cloneable`
- Не очень удачный метод в общем и целом
6. `public final void wait()`, `public final native void notify()`, `public final native void notifyAll()` - для работы с многопоточностью (подробнее [[Взаимодейтсвие между потоками|здесь]])
6. `public final void wait()`, `public final native void notify()`, `public final native void notifyAll()` - для работы с многопоточностью (подробнее [здесь](../../Многопоточность/Взаимодейтсвие%20между%20потоками.md))
7. `protected void finalize() throws Thowable` - метод вызывался GC перед удалением объекта, сейчас `@Deprecated`
@@ -35,4 +35,4 @@ int1==int2; // false
- `floatValue()`
- `doubleValue()`
Заметка о [[Character]]
Заметка о [Character](../Работа%20с%20данными%20и%20типами/Character.md)
@@ -6,4 +6,4 @@ public class Hello {
}
```
Файл `Hello.java`, название файла должно совпадать с именем публичного класса, который может быть один на весь файл.
Далее: [[Типы данных]]
Далее: [Типы данных](Типы%20данных.md)
@@ -1,4 +1,4 @@
![[Операторы.png]]
![Операторы](../../../Attachments/Операторы.png)
## Выражения
Оба операнда приводятся к одинаковому типу:
`byte, char, short -> int -> long -> float -> double`
@@ -13,9 +13,9 @@ float f = 4.0 * 15; // ошибка, double -> float
```
## Приоритет операций
![[Приоритет операций.png]]
![Приоритет операций](../../../Attachments/Приоритет%20операций.png)
Отдельно про [[Строки#Конкатенация|конкатенацию]] строк
Дополнительно [[Форматированный вывод]]
Отдельно про [](../Работа%20с%20данными%20и%20типами/Строки.md#Конкатенация|конкатенацию) строк
Дополнительно [Форматированный вывод](Форматированный%20вывод.md)
Далее: [[Условные конструкции и операторы]]
Далее: [Условные конструкции и операторы](Условные%20конструкции%20и%20операторы.md)
@@ -5,7 +5,7 @@
- Присваивание: `x = 67`;
- Инициализация: `int x = 67;`
Для [[Типы данных#Примитивные типы данных|примитивных]] типов выделяется место под X байт
Для [](Типы%20данных.md#Примитивные%20типы%20данных|примитивных) типов выделяется место под X байт
## Преобразование примитивов
Разрешено неявное расширение
```Java
@@ -21,4 +21,4 @@ byte y = (byte) count; // старшие байты при этом отброс
## Константы
Ключевое слово `final`, можно либо один раз проинициализировать, либо один раз объявить, а потом один раз присвоить
Далее: [[Операторы и выражения]]
Далее: [Операторы и выражения](Операторы%20и%20выражения.md)
@@ -1,5 +1,5 @@
В Java: статическая типизация, сильная, явная
Типы делятся на: [[Типы данных#Примитивные типы данных|примитивные]] и [[Типы данных#Ссылочные типы данных|ссылочные]]
Типы делятся на: [](.md#Примитивные%20типы%20данных|примитивные) и [](.md#Ссылочные%20типы%20данных|ссылочные)
# Примитивные типы данных
1. Целые - `byte`, `short`, `int`, `long`
@@ -7,7 +7,7 @@
3. Вещественные - `float`, `double`
4. Логический - `boolean`
![[Типы данных.png]]
![Типы данных](../../../Attachments/Типы%20данных.png)
Запомнить легко, byte - оно понятно, дальше увеличивается степень двойки.
И полезно запомнить, что int вмещает около 2 млрд
@@ -15,18 +15,18 @@ char - заключается в одинарные кавычки, один Uni
Хранятся в стеке, копируется значение, сравнивается значение
Есть [[Классы-обертки|обертки]] для примитивов
Есть [обертки](../Базовые%20типы%20ООП/Классы-обертки.md) для примитивов
# Ссылочные типы данных
- [[Массивы]]
- [[Строки]]
- [Массивы](../Работа%20с%20данными%20и%20типами/Массивы.md)
- [Строки](../Работа%20с%20данными%20и%20типами/Строки.md)
- Классы
- [[Интерфейсы]]
- [Интерфейсы](../../ООП/Интерфейсы.md)
- Аннотации
- [[Record]]
- [[Enum]]
- [Record](../Базовые%20типы%20ООП/Record.md)
- [Enum](../Базовые%20типы%20ООП/Enum.md)
- ...
Объект хранится в куче, а ссылка хранится в стеке. У ссылки размер - 4 или 8 байт. Копируется и сравнивается ссылка.
Дополнительно: [[Приведение ссылочных типов]]
Далее: [[Переменные]]
Дополнительно: [Приведение ссылочных типов](../Работа%20с%20данными%20и%20типами/Приведение%20ссылочных%20типов.md)
Далее: [Переменные](Переменные.md)
@@ -58,4 +58,4 @@ int x = switch (y) {
Что разрешено: `byte`, `short`, `char`, `int`, `Byte`, `Short`, `Character`, `Integer`, `String`, `Enum`
Для ссылочных типов идет сравнение через `equals()`, что радует
Далее: [[Циклы]]
Далее: [Циклы](Циклы.md)
@@ -1,4 +1,4 @@
Позволяют избегать дублирование кода, помогают обходить [[Массивы|массивы]]
Позволяют избегать дублирование кода, помогают обходить [массивы](../Работа%20с%20данными%20и%20типами/Массивы.md)
## С предусловием - while
```Java
int x = 100;
@@ -43,4 +43,4 @@ for (int[] inner: array) {
}
```
Далее: [[Функции]]
Далее: [Функции](../Работа%20с%20данными%20и%20типами/Функции.md)
@@ -34,7 +34,7 @@ s4 = s4.intern();
5 + 10 + "Hello" + 5 + 10 // 15Hello510
```
## StringBuilder
Хранит массив char и позволяет легко менять строку, пример паттерна [[Builder]]
Хранит массив char и позволяет легко менять строку, пример паттерна [Builder](../../Паттерны%20проектирования/Builder.md)
```Java
StringBuilder sb = new StringBuilder("Hello");
sb.append("!");
@@ -62,4 +62,4 @@ String res = sb.toString();
- `split(str)` - сплит по строке
- `String.join(delimiter, elements)` - соединение массива по символу
Дополнительн: [[Character]]
Дополнительн: [Character](Character.md)