Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di felpone
    Registrato dal
    Jun 2010
    Messaggi
    182

    Confusione su inizializzazione variabili

    Salve,
    non riesco a capire perchè in questo codice, prima di essere eseguito il main vengano inizializzate le altre classi??!!

    codice:
    
    //: initialization/StaticInitialization.java
    // Specifying initial values in a class definition.
    import static net.mindview.util.Print.*;
    class Bowl {
    Bowl(int marker) {
    print("Bowl(" + marker + ")");
    }
    void f1(int marker) {
    print("f1(" + marker + ")");
    }
    }
    class Table {
    static Bowl bowl1 = new Bowl(1);
    Table() {
    print("Table()");
    bowl2.f1(1);
    }
    void f2(int marker) {
    print("f2(" + marker + ")");
    }
    static Bowl bowl2 = new Bowl(2);
    }
    class Cupboard {
    Bowl bowl3 = new Bowl(3);
    static Bowl bowl4 = new Bowl(4);
    Cupboard() {
    print("Cupboard()");
    bowl4.f1(2);
    }
    void f3(int marker) {
    print("f3(" + marker + ")");
    }
    static Bowl bowl5 = new Bowl(5);
    }
    public class StaticInitialization {
    public static void main(String[] args) {
    print("Creating new Cupboard() in main");
    new Cupboard();
    print("Creating new Cupboard() in main");
    new Cupboard();
    table.f2(1);
    cupboard.f3(1);
    }
    static Table table = new Table();
    static Cupboard cupboard = new Cupboard();
    } /* Output:
    Bowl(1)
    Bowl(2)
    Table()
    f1(1)
    Bowl(4)
    Bowl(5)
    Bowl(3)
    Cupboard()
    f1(2)
    Creating new Cupboard() in main
    Bowl(3)
    Initialization & Cleanup 129
    Cupboard()
    f1(2)
    Creating new Cupboard() in main
    Bowl(3)
    Cupboard()
    f1(2)
    f2(1)
    f3(1)
    *///:~

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Perché si tratta di variabili static e non sono legate ad una istanza in particolare.

    ps: è inutile usare il tag CODE se il codice non è indentato in partenza, assolutamente illeggibile
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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.