56 lines
3.1 KiB
Markdown
56 lines
3.1 KiB
Markdown
|
---
|
|||
|
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) -->
|
|||
|
|