Articles of finale

Perché l’object finale può essere modificato?

Ho trovato il seguente codice in un codice base su cui sto lavorando: public final class ConfigurationService { private static final ConfigurationService INSTANCE = new ConfigurationService(); private List providers; private ConfigurationService() { providers = new ArrayList(); } public static void addProvider(ConfigurationProvider provider) { INSTANCE.providers.add(provider); } … INSTANCE è dichiarato come finale. Perché gli oggetti possono […]

Verifica dell’esistenza di un membro, possibilmente in una class base, versione C ++ 11

In https://stackoverflow.com/a/1967183/134841 , viene fornita una soluzione per controllare staticamente se esiste un membro, possibilmente in una sottoclass di un tipo: template class has_resize_method { class yes { char m;}; class no { yes m[2];}; struct BaseMixin { void resize(int){} }; struct Base : public Type, public BaseMixin {}; template class Helper{}; template static no […]

Perché la variabile finale statica qualificata non è ammessa in un blocco di inizializzazione statico?

Caso 1 class Program { static final int var; static { Program.var = 8; // Compilation error } public static void main(String[] args) { int i; i = Program.var; System.out.println(Program.var); } } Caso 2 class Program { static final int var; static { var = 8; //OK } public static void main(String[] args) { System.out.println(Program.var); […]

parola chiave finale nei parametri del metodo

Incontro spesso metodi che assomigliano al seguente: public void foo(final String a, final int[] b, final Object1 c){ } Cosa succede se questo metodo viene chiamato senza passare i parametri finali. cioè un object 1 che viene successivamente modificato (quindi non dichiarato come finale) può essere passato a questo metodo bene

Devono essere definitive tutte le proprietà di un object immutabile?

Gli oggetti immutabili devono avere tutte le proprietà final ? Secondo me no. Ma non lo so, se ho ragione.

Modificatore finale Java

Mi è stato detto che ho frainteso gli effetti del final . Quali sono gli effetti della parola chiave final ? Ecco una breve panoramica di ciò che penso, lo so: Modificatore finale Java (noto anche come relazione di aggregazione) variabili primitive : può essere impostato solo una volta. (guadagno di memoria e prestazioni) variabili […]

Buoni motivi per proibire l’ereditarietà in Java?

Quali sono i buoni motivi per proibire l’ereditarietà in Java, ad esempio utilizzando classi o classi finali utilizzando un singolo costruttore privato senza parametri? Quali sono le buone ragioni per rendere definitivo un metodo?

java: “final” System.out, System.in e System.err?

System.out è dichiarato come public static final PrintStream out . Ma puoi chiamare System.setOut() per riassegnarlo. Eh? Com’è ansible se è final ? (lo stesso punto si applica a System.in e System.err ) E ancora più importante, se riesci a mutare i campi finali statici pubblici, cosa significa per quanto riguarda le garanzie (se ce […]

attributo statico finale privato vs attributo finale privato

In Java, qual è la differenza tra: private final static int NUMBER = 10; e private final int NUMBER = 10; Entrambi sono private e final , la differenza è l’attributo static . Cosa c’è di meglio? E perché?

Perché la class String è dichiarata definitiva in Java?

Da quando ho saputo che la class java.lang.String è stata dichiarata definitiva in Java, mi chiedevo perché è così? Non ho trovato alcuna risposta, ma questo post: Come creare una replica della class String in Java? mi ha ricordato la mia domanda. Certo, String fornisce tutte le funzionalità di cui ho sempre avuto bisogno e […]