Visualizzazione dei risultati da 1 a 10 su 14

Visualizzazione discussione

  1. #9
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    76
    Quote Originariamente inviata da andbin Visualizza il messaggio
    No.

    Una classe "static" (ripeto: deve essere "membro" di un'altra classe) PUO' essere istanziata.
    Una nested static class ha gli stessi identici principi (stesse regole, stesso ciclo di vita, ecc...) di una classe "top-level" (non contenuta dentro qualcosa). È semplicemente da vedere come se fosse in un "namespace" che è fatto dalla classe top-level che la contiene.

    codice:
    public class TopLevel {
        // ....
    
        public static class Nested {
            // ....
        }
    }

    Per poterla istanziare dall'esterno devi fare: new TopLevel.Nested()

    Tutto qui. Per il resto cambia nulla come regole e concetti.

    P.S. deduco che hai le idee un po' confuse su questo argomento.
    Probabilmente sono tardo , ma ancora non ci arrivo...

    Mettiamo che debba implementare, per esempio, una classe/libreria per avere una serie di metodi di utilità per la cifratura di stringhe:
    -con classe statica:
    codice:
    public static class HashUtils{
       public static String getMd5(String pwd) {
          //Restituisce la stringa cifrata in md5;
       }
    }
    --> Utilizzo:
    codice:
    String ciphredPwd = HashUtils.getMd5(pwd);
    -con Singleton:
    codice:
    public class HashUtils { 
       private static HashUtils instance = null;
    
       private/protected HashUtils() {}
    
       public static HashUtils getInstance() {
          if(instance == null) {
             instance = new HashUtils();
          }
          return instance;
       }
    
       public String getMd5(String pwd) {
          //Restituisce la stringa cifrata in md5;
       }
    }
    --> Utilizzo:
    codice:
    String ciphredPwd = HashUtils.getInstance().getMd5(pwd);
    L'unica differenza è che con il singleton avrei l'inizializzazione "pigra"...
    Ultima modifica di Mrk31; 14-06-2016 a 16:02

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.