Ho un paio di domande su istanze della classe Classele istanze della classe Classe
1) Ho capito bene che dire per il cane di classe esiste una sola istanza della classe di classe. In altre parole, dato le seguenti righe
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Class dog1Class = dog1.getClass();
Class dog2Class = dog2.getClass();
Class dogClass = Dog.class;
esiste una sola istanza della classe di classe - Class<Dog>
.
Se si confrontano questi riferimenti con ==, si ottiene che sono lo stesso oggetto.
La domanda è esattamente, getClass e static. Class restituiscono sempre la stessa istanza durante l'esecuzione di un metodo principale?
2) Quando vengono create esattamente queste istanze?
Se si dispone di più classloader, le cose si fanno più complicate ... –
Abbastanza buona domanda in realtà e come già detto @Oli, più classloader e soprattutto il caricamento dinamico potrebbero lanciare una collezione di chiavi nelle opere. Davvero curioso di vedere quale sia la risposta. – Esko