Lors de la lecture du source Java
User user = new User();
Tout le monde peut voir la description. Oui, instanciation.
J'en suis venu à comprendre cela en soi, mais lorsque j'ai réellement touché au programme, j'ai été dérouté par la description suivante.
check.java
public boolean userExists(String userId) {
//Utiliser la variable de type utilisateur
User user = select.selectOne(userId);
if (user == null) {
return false;
}
return true;
}
Il a été soudainement décrit comme «utilisateur utilisateur» sans nouveau. Pour moi, qui avais vaguement pensé: «Quand j'utilise une autre classe, je suis nouveau», je ne comprends pas pourquoi.
Mais c'était simplement mon malentendu.
En regardant le contenu de la méthode ci-dessus select.selectOne (userId);
select.java
public User selectOne(String userId) {
//Obtenez 1 données
Map<String, Object> map = jdbc.queryForMap("SELECT * FROM m_user "
+ "WHERE user_id = ?"
, userId);
//Variables pour renvoyer les résultats
User user = new User();
//Définissez les données acquises sur l'utilisateur
user.setUserId((String) map.get("user_id")); //Identifiant d'utilisateur
user.setUserName((String) map.get("user_name")); //Nom d'utilisateur
//Renvoyer l'instance utilisateur
return user;
}
Il est devenu. Oui, je fais fermement ʻUser user = new User (); `et new, et je renvoie cette instance d'utilisateur comme valeur de retour. En d'autres termes, puisque l'instance User a déjà été créée, il n'était pas nécessaire d'en créer une nouvelle dans la première classe check.java.
Si vous me le demandez, je ne saurais pas si j'ai créé une nouvelle instance à chaque fois. ..
C'est pourquoi j'ai acquis une compréhension un peu plus profonde de la phrase: "Le moment du nouveau est (seulement) lorsque vous l'utilisez." peut être.
Dans le modèle Commande, créez une commande à l'avance et exécutez la commande créée si nécessaire. Tout comme installer (préparer) des commandes à l'avance sur Linux etc. et exécuter les commandes si nécessaire.
Merci d'avoir souligné. Java est encore profond, n'est-ce pas? Je n'avais jamais entendu parler du modèle de commandement, alors je l'ai recherché, mais je ne pouvais pas le comprendre simplement en le regardant. J'étudierai les modèles de conception à l'avenir. Merci beaucoup pour votre bonne opportunité.
Recommended Posts