Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Mrk31 Visualizza il messaggio
    qundi l'associazione del blocco alla variabile è posizionale???
    Se uno static init block deve inizializzare una variabile "di classe" (static), la variabile deve essere dichiarata prima del blocco. (in realtà , non è sempre così, ci sono altre regole che non ti ho detto).
    EDIT: mi pareva di ricordare così ... ma una prova veloce con JDK 7 mi ha confuso un attimo. Dovrei andare a rivedere le regole e provare con JDK vecchi. Comunque queste sono davvero super-finezze.

    Comunque prova:

    codice:
    public class Prova {
        static {
            System.out.println("static init block");
        }
    
        {
            System.out.println("instance init block");
        }
    
        public Prova() {
            System.out.println("costruttore");
        }
    
        public static void main(String[] args) {
            System.out.println("----main----");
            new Prova();
            new Prova();
        }
    }

    Nota come lo static init block viene addirittura eseguito PRIMA che il main venga invocato!!
    Ultima modifica di andbin; 26-04-2016 a 12:51
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.