Pas tous des erreurs Java programmeurs rencontre sont le résultat de code qu'ils écrivent. Certaines erreurs, telles que l'erreur de changement de classe incompatible , proviennent de la façon dont le compilateur Java créée fichiers bytecode de la machine virtuelle Java (JVM) à exécuter. Cette erreur se produit lorsque les programmeurs reconstruire un fichier de classe sans reconstruire les autres fichiers dans l'application. Fichiers multiple catégorie
Alors que les programmes Java simples peuvent tenir dans un seul fichier de code source , un bon style de programmation exige des développeurs de diffuser des fonctions plus sophistiquées à travers de multiples classes . Un bon style de programmation orienté objet , à son tour, exige que les programmeurs utilisent un fichier de code source distincte pour chaque catégorie qu'ils créent. La présence de plusieurs fichiers de classe ou le fait que toutes les classes sont coincés à l'intérieur d'un seul fichier ne font aucune différence à la JVM. Répandre des classes à travers plusieurs fichiers ne rend beaucoup plus facile pour les développeurs de développer et de maintenir un programme , cependant.
Compilation de code
Lorsque les développeurs compilent initialement un programme Java, le programme consulte le fichier source pour chaque classe les références de code de l'application. Sur la base de l'état actuel de ces fichiers , il va créer des fichiers de bytecode avec les liens nécessaires entre eux et les méthodes individuelles au sein de ces fichiers de classe . Tant que les faisceaux de programmeur ces tous ensemble dans un seul paquet , le programme sera exécuté normalement.
Erreur Définition
Si les liens d'un compilateur crée entre fichiers de classe cassent, alors le programme ne fonctionnera pas. Le "Java Lang Incompatible Changement de classe Error" signifie que le code de bytecode pour l'un des fichiers de classe du programme a changé de nature à rompre ces liens. Cela peut se produire lorsque les développeurs apportent des modifications aux et recompiler le code source d' un des cours d'un programme. Un changement important pour le contenu du code source va changer la structure du fichier bytecode afin que d'autres fichiers de classe seront incapables de communiquer avec lui.
Résolution
Cette erreur se produit lorsque les programmeurs de modifier et recompiler un fichier de classe dans l'isolement d'autres fichiers du projet. Fixation de la question est une question simple. Les programmeurs doivent revenir en arrière et recompiler tous les fichiers de code source de ce programme en même temps . Cela permet au compilateur Java de mettre à jour les autres fichiers bytecode à intégrer les changements que le programmateur tout , de rétablir les liens entre les fichiers et la restauration de leur compatibilité.