Java jest równoznaczne z C# 's sealed
, readonly
i sealed
słów kluczowych.
dwóch z tych trzech są nieco inne w Java i C#:
W Javie, metody są wirtualne domyślnie, więc każda metoda może być uznana final
aby zapobiec jego nadpisane. W języku C# metody nie są domyślnie wirtualne, więc można zastąpić tylko jedną z metod: sealed
(Aby zapobiec dalszemu nadpisywaniu)
W języku Java dowolną zmienną lub pole można oznaczyć jako final
, aby zapobiec zmianie po inicjalizacja (I, dla pól, poza konstruktorem). W języku C# pola mogą być zadeklarowane jako readonly
, dla dokładnie tego samego efektu, ale zmienne lokalne nie mogą. Zauważ, że Java nie ma odpowiednika słowa kluczowego C# 's const
. (const
s w C# są oceniane w czasie kompilacji, a wartości są zakodowane zamiast odwoływać)
Dla klas, C# 's sealed
klas i final
klas Javy są dokładnie takie same (AFAIK).
dup: http://stackoverflow.com/questions/1327544/what-is-t-equivalent-of-javas-final-in-c –
dlaczego po prostu nie porównasz dokumentacji? –
RTFM, huh. Cóż, zamknijmy to Q spokojnie. Dziękuję wam wszystkim! Musiałem wybrać jedną odpowiedź jako zaakceptowaną. –