La classe abstraite Java peut-elle avoir un constructeur?
La classe abstraite Java peut-elle avoir un constructeur?

Vidéo: La classe abstraite Java peut-elle avoir un constructeur?

Vidéo: La classe abstraite Java peut-elle avoir un constructeur?
Vidéo: Apprendre Java #3 Classe Abstraite 2024, Décembre
Anonim

Oui, un la classe abstraite peut avoir une constructeur dans Java . Tu pouvez soit fournir explicitement un constructeur à classe abstraite ou si vous ne le faites pas, le compilateur volonté ajouter par défaut constructeur d'aucun argument dans classe abstraite . C'est vrai pour tous Des classes et cela s'applique également à un classe abstraite.

Par conséquent, un constructeur peut-il être abstrait en Java ?

Tu pouvez n'ai pas de constructeur abstrait , comme abstrait signifie que vous devez fournir l'implémentation pour cela à un moment donné dans votre sous-classe. Mais tu ne peux pas passer outre constructeur . Là volonté inutile d'avoir un constructeur abstrait : Tu volonté appelez toujours le constructeur de la classe enfant et non de la classe de base.

De même, comment appelle-t-on un constructeur de classe abstraite ? Vous pouvez définir un constructeur dans un classe abstraite , mais vous ne pouvez pas construire cet objet. Cependant, des sous-ensembles concrets Des classes peut (et doit) appel un de constructeurs défini dans le abstrait parent classer . Tu ne peux pas appel un constructeur de classe abstraite avec un classer expression de création d'instance, c'est-à-dire

De même, les gens demandent pourquoi une classe abstraite a-t-elle un constructeur ?

UNE constructeur en Java ne "construit" pas réellement l'objet, il est utilisé pour initialiser les champs. Imaginez que votre classe abstraite a champs x et y, et que vous voulez toujours qu'ils soient initialisés d'une certaine manière, quelle que soit la sous-classe concrète qui est finalement créée.

La classe abstraite peut-elle avoir des objets en Java ?

Parce que c'est abstrait Et un objet est concret. Non, les concepteurs n'ont pas fourni de moyen. Parce qu'un classe abstraite est un incomplet classer (incomplet au sens où il contient abstrait méthodes sans corps ni sortie), nous ne pouvons pas créer d'instance ou objet ; de la même manière que vous dites pour une interface.

Conseillé: