Comme vous pouvez le voir dans les articles précédents, j'utilise généralement C ++ et Ruby Et comme vous pouvez le voir dans le titre, je ** n'aime pas beaucoup Java ** La raison pour laquelle je déteste c'est qu'il était difficile de comprendre le modèle de conception car il était long dans le package ou l'espace de noms. Il peut également y avoir une résistance initiale lorsque vous touchez un langage orienté objet à partir du langage C Donc Perl est plus adapté au sexe et est connecté au Ruby actuel (style Perl et facile à écrire) C'est comme ça, mais j'ai souvent touché à Java et je lis souvent des sources écrites en Java. ** J'ai testé ma compréhension de Java ** La page utilisée pour le test est le site ci-dessous 10 questions pour savoir si vous êtes un programmeur Java
"==" Est ** une comparaison indiquant si les classes sont identiques ** et "égal" est ** une comparaison indiquant si les données internes (caractères stockés pour String) sont égales **. Dans Ruby, "==" est fondamentalement le même que "equals" de Java. 2. "+" ** Recrée une nouvelle chaîne qui combine deux classes String **. StringBuilder est une classe qui peut être étendue et réduite. ** Lorsqu'elle est connectée à StringBuilder, les caractères sont développés en lui-même **. Une image comme la différence entre non destructif et destructif dans Ruby 3. ** Pouvoir l'utiliser avec différents types (classes) **. Par exemple, il n'est pas pratique qu'il prenne en charge int mais pas float. Cela ne veut pas dire qu'il est correct de définir chaque classe, ce qui résout cette situation. Je suis un programmeur C ++, donc je me demande si c'est correct 4. Lorsque la largeur spécifiée est dépassée lors du mappage de la mémoire? ** Je ne sais pas avant le moment ** 5. ** Je ne connais pas les exceptions cochées et non cochées car je n'ai pas entendu le nom lui-même ** 6. ** Parce que je ne veux pas que la classe utilise des données inattendues **. Par exemple, lorsque la classe MyString qui contient le nombre de caractères et de caractères stockés se rencontre, l'écriture simultanée du nombre de caractères et des caractères stockés peut provoquer des erreurs humaines dans lesquelles les données les unes des autres sont incohérentes. Par conséquent, en utilisant la classe setter, l'utilisateur de la classe n'a pas à être conscient des opérations détaillées en stockant les caractères et en modifiant la longueur de la chaîne de caractères en même temps. 7. ** Par exemple, en faisant référence à Null **, lors de l'exécution de «1 + Null», etc. C'est aussi Ruby. 8. La surcharge ** crée une méthode portant le même nom avec différents types d'arguments et nombres dans la même classe **. La surcharge ** remplace une méthode héritée de la classe parente **. Je le dis sans savoir pourquoi la définition est surchargée (j'ai envie de l'emporter) 9. ** Premier processus lors de la création d'une classe **, principalement processus d'initialisation 10. ** En Java, où l'héritage multiple n'est pas autorisé, les méthodes de l'interface peuvent être partagées par plusieurs classes sans classe parente ** Cela le rend adapté à la conception de polymorphisme
J'ai dit que je n'aime pas Java, mais j'ai résolu quelques problèmes de base Mais ce ne sont que des connaissances superficielles, donc c'est probablement tout à fait faux. Gentils programmeurs Java qui ont vu jusqu'à présent, si vous avez le temps, merci pour vos commentaires.