Ikke alle feil Java programmerere møte er resultatet av koden de skriver . Noen feil, for eksempel det inkompatible klassen endringen feil , kommer fra den måten at Java kompilatoren opprettet ByteCode filer for Java Virtual Machine ( JVM ) for å utføre . Denne feilen skjer når programmerere gjenoppbygge en klasse fil uten å gjenoppbygge de andre filene i søknaden. Flere klasse -filer
Mens enkle Java-programmer kan passe i en enkelt kildekoden fil , god programmering stil krever utviklere å spre mer avanserte funksjoner ut over flere klasser . God objektorientert programmering stil i sin tur krever at programmerere bruke en egen kildekode fil for hver klasse de skaper. Tilstedeværelsen av flere class filer eller det faktum at alle klassene er fast i en enkelt fil gjør ingen forskjell på JVM . Sprer klasser ut over flere filer gjør det mye enklere for utviklere å utvikle og vedlikeholde et program , imidlertid.
Kode Compilation
Når utviklerne i utgangspunktet lage en Java- program , programmet konsulterer kildefilen for hver klasse programmets kode referanser. Basert på den nåværende tilstand av disse filene , vil det bygge ByteCode class filer med de nødvendige koblinger mellom hverandre og de enkelte metoder innenfor disse class filer . Så lenge programmereren bunter alle disse sammen i én pakke , vil programmet kjøre normalt .
Feil Definition
p Hvis koblingene en kompilator skaper mellom class filer bryte , så programmet ikke vil fungere. Den " Java Lang Inkompatibel Klasseendring feil " betyr at bytecode koden til ett av programmets class filer har endret seg slik som å bryte disse lenkene . Dette kan skje når utviklerne gjøre endringer i , og rekompilere , kildekoden for en av et program klasser . En vesentlig endring til kildekoden innhold vil endre bytecode fil struktur slik at andre class filer vil være ute av stand til å kommunisere med den.
Oppløsning
Denne feilen skjer når programmerere redigere og rekompilere en klasse fil i isolasjon fra prosjektets andre filer . Fikse problemet er en enkel sak . Programmerere må gå tilbake og rekompilere alle programmets kildekode filer samtidig . Dette gjør at Java -kompilatoren for å oppdatere de andre ByteCode filer å innlemme endringene programmerer gjort , re- etablering av koblingene mellom filene og gjenopprette deres kompatibilitet.