Ik heb java code gecompileerd met de Eclipse java 1.5 compiler. Deze code maakt gebruik van een interface, waarop ik -alleen- in 1 enkele VM een error krijg:
"Illegal field modifiers in class"
De interface zelf heeft voor zijn methods de modifiers public en abstract staan (ja ik weet het, je kunt deze weglaten, maar Eclipse genereerde dit).
De gecompileerde code draai overal zonder klagen. De VM waar op het fout gaat is de Sun 1.5_04 VM voor AMD64. Het enigste afwijkende 'detail' is dus dat het de 64 bits versie betreft, maar dat veranderd de taal semantiek toch niet?
Hoe kan elke 1.5 VM deze code nou slikken, en een enkele niet?
De interface in kwestie:
"Illegal field modifiers in class"
De interface zelf heeft voor zijn methods de modifiers public en abstract staan (ja ik weet het, je kunt deze weglaten, maar Eclipse genereerde dit).
De gecompileerde code draai overal zonder klagen. De VM waar op het fout gaat is de Sun 1.5_04 VM voor AMD64. Het enigste afwijkende 'detail' is dus dat het de 64 bits versie betreft, maar dat veranderd de taal semantiek toch niet?
Hoe kan elke 1.5 VM deze code nou slikken, en een enkele niet?
De interface in kwestie:
Java:
1
2
3
| public interface DataSet extends Iterator<Map> { public abstract int rowCount(); // meer van dergelijke functies |