Java - Plusieurs constructeurs avec les mêmes arguments
J'ai besoin de créer plusieurs constructeurs avec les mêmes arguments pour que je puisse les appeler de ma classe DAO pour le remplissage de différents déroulant valeurs
public static Employee empType(String empCode, String empType) {
Employee emp = new Employee();
emp .empCode= empCode;
emp .empType= empType;
return emp ;
}
public static Employee empDept(String deptCode, String deptName) {
Employee emp = new Employee();
emp .deptCode= deptCode;
emp .deptName= deptName;
return emp ;
}
Quand je suis référencement de classe DAO, comment puis-je me réfère à ces constructeurs?
E. g.
private static Employee myList(ResultSet resultSet) throws SQLException {
return new <what should be here>((resultSet.getString("DB_NAME1")),
(resultSet.getString("DB_NAME2")));
}
J'ai même dû même type d'exigences, mais je ne pense pas qu'il est possible, depuis Java distingue surchargée de la méthode basée sur des arguments des méthodes, et si deux constructeur a même type d'arguments, cela ne fonctionne pas. Mais les experts doivent perdre de leur opinion.
Sont-ils vraiment des Constructeurs? En effet, ils ne sont même pas des méthodes surchargées!
Non, ils ne sont pas les constructeurs. Ils sont de l'usine de fonctions.
vous corrigez j'chose qu'ils sont deux méthodes statiques
Je suis étonné de voir tant de réponses, tout le monde parle de plusieurs constructeurs, quand il y en a pas dans le code!
Sont-ils vraiment des Constructeurs? En effet, ils ne sont même pas des méthodes surchargées!
Non, ils ne sont pas les constructeurs. Ils sont de l'usine de fonctions.
vous corrigez j'chose qu'ils sont deux méthodes statiques
Je suis étonné de voir tant de réponses, tout le monde parle de plusieurs constructeurs, quand il y en a pas dans le code!
OriginalL'auteur Jåcob | 2013-04-18
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas.
Aussi, ces fonctions ne sont pas les constructeurs. Et comment voulez-vous décider de qui "constructeur" pour appeler???
Vous pouvez fusionner les deux fonctions:
Et l'utilisation
null
comme inutiles argument.bonjour, pourriez-vous nous donner un exemple d'utilisation de null comme inutiles argument? Merci
OriginalL'auteur BobTheBuilder
Vous ne pouvez pas Créer plusieurs constructeurs et méthodes avec le même nom et les mêmes arguments
Ce que vous pouvez faire est de modifier votre mise en œuvre, et ceux qui ne sont pas Contructors.
Vous pouvez suivre ce Baraky fait, vous pouvez également utiliser cette(créer un indicateur booléen,ou une valeur int flag)
Il peut aussi le faire, ou à l'aide d'un booléen. juste de souligner qu'il existe d'autres approches, il ou elle peut faire.
En java, le constructeur ne peut pas être statique et il ne peut pas retourner une valeur quelconque.ici, je pense que vous êtes juste de surcharger une fonction.
OriginalL'auteur KyelJmD
Si vous devez avoir plusieurs constructeurs, vous pouvez ajouter un paramètre fictif de ce genre.
En faisant cela, il est un des critères minimaux de performance(veryveryvery petite) baisse, mais si le code est plus lisible, il en vaut la peine 🙂
OriginalL'auteur Stian Standahl
Je ne pense pas plusieurs constructeur avec les mêmes arguments (type de données) sont autorisées par java.
OriginalL'auteur Alpesh Gediya
Si vous avez besoin d'flexible création d'objets, découvrez la
Builder
modèle. Dans votre cas, cependant, je ne vois pas pourquoi il ne devrait pas travailler juste pour avoir un constructeur avec tous vos paramètres. Juste récupérer toutes les propriétés de l'objet resultSet, et s'ils sont nuls, ils vont juste ne pas être défini.OriginalL'auteur NilsH
Si vous avez DEUX personnes du même constructeur avec le même paramètre de sens, mais un effet différent, vous pouvez essayer d'embrayage en un seul:
Si vous avez 2+ même constructeur puis utilisez
int type
etswitch
. Juste une suggestion.EDIT:
types
dans ce cas, doit être défini parenum
pour code plus facile à saisir.OriginalL'auteur Vinigas
Si vous utilisez un autre ensemble de paramètres pour le constructeur modifie le comportement de la façon dont il agit, je vous suggère d'étendre ou de l'utilisation de la composition pour créer une nouvelle classe avec le nouveau jeu de paramètres.
Qui adhèrent également à OUVRIR/FERMER le pricipal.
OriginalL'auteur javakurious