Ответ
Строгая типизация (strong typing) в Java означает, что язык требует явного объявления типов для переменных и обеспечивает строгую проверку совместимости типов на этапе компиляции. Операции между несовместимыми типами запрещены без явного приведения.
Ключевые характеристики:
- Явное объявление: Тип переменной определяется при ее объявлении и не может быть изменен.
int count = 5; // Тип 'int' зафиксирован // count = "text"; // Ошибка компиляции: несовместимые типы - Строгая проверка операций: Компилятор проверяет типы в выражениях.
int a = 10; String b = "20"; // int c = a + b; // Ошибка: int + String int c = a + Integer.parseInt(b); // Требуется явное преобразование - Контроль присваиваний: Присвоение значения переменной возможно только если типы совместимы (совпадают или существует отношение наследования/реализации).
Object obj = "Hello"; // OK, String является Object String str = obj; // Ошибка компиляции: требуется явное приведение (String) obj - Отсутствие неявных "опасных" преобразований: В отличие от слабо типизированных языков, Java не выполняет автоматические преобразования между логически несвязанными типами (например, число в строку в арифметической операции).
Сравнение: Java строго типизирована, в отличие от слабо типизированного JavaScript, где возможны неявные преобразования ("5" - 2 = 3).