Accueil de l'archive Service proposé par Hervé AGNOUX

From:           	Sylvain RICHET <SRICHET@centrale.sud.systeme-u.fr>
To:             	java@u-strasbg.fr
Date sent:      	Thu, 10 Feb 2000 12:30:15 +0100
Subject:        	Fichiers générés par le compilateur
    	JAVAC (1.2)
Send reply to:  	java@u-strasbg.fr

Bonjour à tous,

L'un de vous connaitrait-il la raison pour laquelle :

==> en compilant un applet Java ( ex:" WordCount.java" ) avec le
compilateur du JDK 1.2, trois fichiers sont générés : - un fichier
WordCount.class ( normal ! ) de 3112 octets (ici)

mais aussi :
- un fichier WordCount$1.class ( de 584 octets )
- un fichier WordCount$2.class ( de 875 octets )

A quoi servent ces deux classes supplémentaires ?

Merci d'avance pour vos réponses. 

     

Date sent:      	Thu, 10 Feb 2000 12:48:41 +0100
From:           	Yannick EMERIAUD <yemeriaud@ort.fr>
To:             	java@u-strasbg.fr
Subject:        	Re: Fichiers générés par le
   	compilateurJAVAC (1.2)
Send reply to:  	java@u-strasbg.fr

Sylvain RICHET wrote:

> ==> en compilant un applet Java ( ex:" WordCount.java" ) avec le
> compilateur du JDK 1.2, trois fichiers sont générés : - un fichier
> WordCount.class ( normal ! ) de 3112 octets (ici) mais aussi : - un
> fichier WordCount$1.class ( de 584 octets ) - un fichier
> WordCount$2.class ( de 875 octets )
>
> A quoi servent ces deux classes supplémentaires ?

Dans la definition de WordCount.java il doit y avoir au sein meme de la
class WordCount la definition de deux nouvelles classes definies
(typiquement des listeners).

En gros tu dois retrouver quelque chose dans le genre :

unObjet.addListener(new Listener( ){
                                     // (re-)definitions de methodes
                                     }
                               )

La class definie par lors de l'appel de addListener ne possede pas de nom
et pourtant le compilateur doit generer un fichier de bytecodes (un
.class). Le fichier généré s'appelle alors ClassPrincipale$1.class.

Voila.

J'espere avoir ete suffisament clair.


--
----------------
Yannick EMERIAUD
yemeriaud@ort.fr

char chars[]={' ',' ',' ','
',':','/','=','H','O','A','M','%','&','$','#',64,'
',121,101,109,101,114,105,97,117,100,64,111,114,116,46,102,114}; int
n,l,c,k;float i,r,zr,zi,a,b;c=1;l=1; for
(i=-1.0;i<=1.0;i+=0.09){for(r=-2.0;r<=1.0;r+=0.06){ zr=r; zi=i;
for(n=0;n<16;n++){a=zr*zr; b=zi*zi;if(a+b>4.0)
break;zi=2*zr*zi+i;zr=a-b+r;} printf("%c",chars[n]);c++;if (l==12 &&
c==22){for (k=0;k<16;k++) printf("%c",chars[17+k]); r+=0.99;}}
printf("\n");c=1;l++;}



C'est fini ! Retour à l'accueil de la pseudo-archive