Я пытаюсь понять преимущества статической типизации языка программирования, и поэтому мне интересно, почему нам нужно включать тип в объявление? Служит ли это какой-либо цели, а не для явного определения типа? Если это так, я не вижу в этом смысла. Я понимаю, что статическая типизация позволяет проверять тип во время компиляции, но если мы не укажем явное объявление типа, не сможет ли Java вывести тип во время компиляции?
Например, допустим, у нас есть в Java:
myClass test = new myClass();
Разве здесь не нужно объявление типа? Если я не ошибаюсь, это статическая привязка, и Java должна знать test
имеет тип myClass
без явного объявления типа даже во время компиляции.
Ответ на возможное дублирование: это вопрос не относительно статического и динамического типов, а скорее о выводе типа в статически типизированных языках, как объясняется в принятом ответе.
class B extends A
иA a = new B()
? Как компилятор должен определить типa
? - person gefei   schedule 25.12.2015