di Java è l'equivalente di C# s 'sealed
, readonly
e sealed
parole chiave.
Due di questi tre sono un po 'diverso in Java e C#:
In Java, i metodi sono virtuali per impostazione predefinita, in modo che qualsiasi metodo può essere dichiarato final
per evitare che venga sovrascritto. In C#, i metodi non sono virtuali per impostazione predefinita, quindi gli unici metodi sovrascritti possono essere dichiarati sealed
(Per impedire che vengano ulteriormente ignorati)
In Java, qualsiasi variabile o campo può essere dichiarato final
per impedire che venga modificato dopo inizializzazione (E, per i campi, al di fuori del costruttore). In C#, i campi possono essere dichiarati readonly
, per lo stesso identico effetto, ma le variabili locali non possono. Si noti che Java non ha equivalenti alla parola chiave const
del C#. (const
s in C# sono valutati al momento della compilazione, ed i valori sono hard-coded invece di essere riferimento)
Per le classi, C# 's sealed
classi e final
classi di Java sono esattamente gli stessi (per quanto ne so).
dup: http://stackoverflow.com/questions/1327544/what-is-the-equivalent-of-javas-final-in-c –
perché non si confronta semplicemente la documentazione? –
RTFM, eh. Bene, chiudiamo questa Q pacificamente. Grazie a tutti! Ho dovuto scegliere una risposta come accettata. –