digital-garden/dev/java/Статическое связывание в Java.md
Struchkov Mark 953e4534c6
All checks were successful
continuous-integration/drone/push Build is passing
Динамическое и статическое связывание
2024-10-05 07:28:51 +03:00

56 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
tags:
- maturity/🌱
date: 2024-10-05
zero-link:
parents:
linked:
---
Примеры [[../other/Статическое связывание|статического связывания]] в Java
**Перегрузка методов (Method Overloading).** Когда методы с одним именем имеют разные параметры (тип или количество). Решение о том, какой метод вызвать, принимается на этапе компиляции.
```java
class Example {
void show(int x) {
System.out.println("Integer: " + x);
}
void show(String s) {
System.out.println("String: " + s);
}
}
```
**Методы или поля с ключевым словом** `final`
Методы и поля, помеченные как `final`, подлежат статическому связыванию, так как их реализация не может быть изменена.
**Методы или поля внутри** `private` **классов**
Методы, объявленные с модификатором доступа `private`, также связываются статически, поскольку они недоступны для переопределения в подклассах.
**Статические методы (Static Methods)**
Статические методы связаны с классом, а не с объектом. Поэтому их связывание происходит на этапе компиляции.
**Простые вызовы полей**
Доступ к полям (переменным класса) также осуществляется через статическое связывание. Например, если переменная является примитивным типом или объявлена как `static`, её связывание происходит на этапе компиляции.
**Перегрузка операторов (Operator Overloading)**
Хотя Java не поддерживает прямую перегрузку операторов, операторы, такие как + для строк, являются примерами статического связывания. Компилятор точно знает, какой оператор будет использован с каким типом данных.
```java
String result = "Hello" + "World"; // Конкатенация строк
```
***
## Мета информация
**Область**:: [[../../../../garden/ru/meta/zero/00 Java разработка|00 Java разработка]]
**Родитель**:: [[../../../../garden/ru/dev/other/Статическое связывание|Статическое связывание]]
**Источник**::
**Создана**:: [[2024-10-05]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->