Inte alla fel Java programmerare möter är resultat av den kod de skriver . Vissa fel , såsom oförenliga Klassändring fel , kommer från det sätt som Javakompilatorn skapade bytekod filer för Java Virtual Machine ( JVM ) att köra . Det här felet inträffar när programmerare bygga en klass -fil utan att bygga de andra filerna i programmet . Flera klassfiler
Medan enkla Java-program kan passa i en enda källkod fil , bra programmering stil kräver utvecklare att sprida mer sofistikerade funktioner ut över flera klasser . Bra objektorienterad programmering stil , i sin tur , förutsätter att programmerare använder en separat fil källkod för varje klass som de skapar . Förekomsten av multipla klassfiler eller det faktum att alla klasser har fastnat i en enda fil gör ingen skillnad för JVM . Spridning klasser ut över flera filer gör det mycket enklare för utvecklare att utveckla och upprätthålla ett program , dock .
Kodkompilering
När utvecklare initialt kompilera ett Java -program , programmet samråder källfilen för varje klass ansökan kod referenser . Baserat på det aktuella läget i dessa filer , kommer det att skapa filer bytekod klass med de nödvändiga länkarna mellan varandra och de enskilda metoderna inom dessa klassfiler . Så länge programmeraren buntar alla dessa tillsammans i ett enda paket , kommer programmet att köra normalt .
Fel Definition
p Om länkarna en kompilator skapar mellan class filer sönder , då programmet inte kommer att fungera . Den " Java Lang Inkompatibel Klassändring Fel " innebär att bytekod koden för en av programmets klass-filer har förändrats på sådant sätt att bryta dessa länkar . Detta kan hända när utvecklarna gör ändringar , och kompilera , källkoden för en av ett programs klasser . En betydande förändring till källkoden innehåll kommer att förändra bytekodfilen struktur så att andra klass-filer inte kommer att kunna kommunicera med den . Addera Resolution
här felet inträffar när programmerare redigera och kompilera en klass -fil i isolering från projektets övriga filer . Fastställande av frågan är en enkel sak. Programmerare måste gå tillbaka och kompilera om alla programmets källkodsfiler samtidigt . Detta gör att Java-kompilator för att uppdatera de övriga bytekod filer för att infoga ändringarna programmeraren gjort , återupprätta förbindelserna mellan filerna och återställa deras kompatibilitet .