[Lire Java efficace] Chapitre 2 Item 4 "Forcer l'impossibilité d'immobilisation avec un constructeur privé"

Forcer non immuable avec un constructeur privé

Les classes d'utilité (classes constituées de méthodes statiques et de champs statiques) ne sont pas conçues pour être instanciées. Malgré cela, je vois souvent des choses qui peuvent être instanciées, alors utilisons un constructeur privé pour rendre absolument impossible l'instanciation.

Glossaire

Constructeur par défaut

Si aucun constructeur n'est défini, un constructeur appelé constructeur par défaut est automatiquement créé.

Exemple de code

En écrivant explicitement un constructeur privé, l'accès depuis l'extérieur est désactivé et la génération du constructeur par défaut est supprimée. AssertionError n'est pas strictement nécessaire, mais elle est incluse comme assurance.


//Classes d'utilité qui ne peuvent pas être instanciées
public class UtilityClass {
    //Supprimer le constructeur par défaut pour empêcher l'instanciation
    private UtilityClass() {
        throw new AssertionError();
    }
    … //Le reste est omis
}

Continuer

[Lire Java efficace] Chapitre 2 Item 5 "Eviter la création d'objets inutiles" https://qiita.com/Natsukii/items/ec64efddce85ffd59fa8

Recommended Posts

[Lire Java efficace] Chapitre 2 Item 4 "Forcer l'impossibilité d'immobilisation avec un constructeur privé"
[Lire Java efficace] Chapitre 2 Item 3 "Forcer les caractéristiques de singleton avec un constructeur privé ou un type enum"
Forcer non immuable avec le constructeur privé Effective Java
[Lire le Java efficace] Chapitre 2 Item 2 "Considérez un constructeur face à un grand nombre de paramètres de constructeur"
[Lire Java efficace] Chapitre 2 Item 7 "Eviter les finaliseurs"
[Lire Java efficace] Chapitre 3 Item 10 "Always Override toString"
[Lire Java efficace] Chapitre 3 Point 12 "Considérer l'implémentation de Comparable"
[Lire Java efficace] Chapitre 2 Item 6 "Supprimer les références d'objets obsolètes"
[Lire Java effectif] Chapitre 3 Rubrique 9 "Lors de la substitution d'égaux, toujours remplacer hashCode"
[Lire Java efficace] Chapitre 2 Item 5 "Eviter la création d'objets inutiles"
[Lire Java efficace] Chapitre 2 Item 1 "Considérez les méthodes de fabrique statiques plutôt que les constructeurs"
[Lire Java efficace] Chapitre 3 Point 8 "En cas de remplacement égal, suivez le contrat général"
Efficace Java Chapitre 2
Effective Java Chapitre 6 34-35
Effective Java Chapitre 4 15-22
Java efficace Chapitre 3
Lire une chaîne dans un fichier PDF avec Java
Élément Java effectif 25 Sélectionnez une liste dans un tableau Première moitié
Construire un projet Java avec Gradle
Efficacité de Java 3rd Edition Chapitre 5 Génériques
Méthodes efficaces du chapitre 8 de Java 3rd Edition
[Java] Tester des méthodes privées avec JUnit