Есть ли какое-либо функциональное различие между c# заключительное ключевое слово изолированного и Java? [дубликат]

13
задан Community 23 May 2017 в 11:46
поделиться

2 ответа

ключевое слово Java последнее является эквивалентом опечатанных , только для чтения , и опечатанных ключевых слов.

Два из этих трех методов несколько отличаются на Java и C#:

В Java по умолчанию методы являются виртуальными, поэтому любой метод может быть объявлен окончательным , чтобы предотвратить его переопределение. В языке C# методы по умолчанию не являются виртуальными, поэтому единственные переопределенные методы могут быть объявлены запечатанными (Чтобы предотвратить их дальнейшее переопределение)

В языке Java любая переменная или поле могут быть объявлены final, чтобы предотвратить их изменение после инициализации (А для полей, вне конструктора). В C# поля могут быть объявлены readonly, для того же эффекта, но локальные переменные не могут. Обратите внимание, что Java не имеет эквивалента ключевому слову C# const. (consts в C# вычисляются во время компиляции, а значения жестко закодированы вместо ссылок)

Для классов C# sealed и Java final классы точно такие же (AFAIK).

24
ответ дан 1 December 2019 в 20:42
поделиться

Взгляните в этот ответ: Что такое эквивалент финал Java в C #

5
ответ дан 1 December 2019 в 20:42
поделиться