Eclipse - problem s vicenasobnou definici

Jirka Hradil jirka na hradil.cz
Neděle Srpen 24 00:32:43 CEST 2003


Dobry den,
	zkousel jsem pouzivat Eclipse IDE 2.1.1 (SDK 1.4.2), docela
rychle jsem si na nej zvykl, ale ma jedno dost podstatne omezeni. Mozna
se to da nekde vypnout, ale nikde jsem na to nenarazil, zrejme to jde v
rezii IDE.
Mam nasledujici zdrojak, ktery je umisten v nejakem balicku:

//Soubor Test.java

package cz.hradil.dvanact;

interface IsUseful
{
}

class Toy
{
}

public class Test
{
}

Pak mam dalsi soubor, ve stale stejnem balicku:
//Soubor TestDruhy.java

//STEJNY BALICEK
package cz.hradil.dvanact;

//STEJNY NAZEV ROZHRANI JAKO V PRVNIM SOUBORU
interface IsUseful
{
}

//STEJNY NAZEV TRIDY JAKO V PRVNIM BALICKU
class Toy
{
}

public class TestDruhy
{
}


Problem je v tom, ze pokud pouziju v souboru TestDruhy.java tridu Toy,
tak Eclipse klidne pouzije Toy z prvniho souboru Test.java! Napoveda v
tomto pripade ukazuje, ze Toy je z baliku cz.hradil.dvanact.Toy. Trida
Toy vsak neni deklarovana jako verejna. Teoreticky by mel Eclipse
(Netbeans to alespon tak dela) dat prednost tride z aktualniho souboru.
U rozhrani je to naprosto stejne. 
Zkousel jsem zjistit, jak to Eclipse kompiluje-vypada to, ze si proste
vytvari na ne-public objekty (rozhrani) samostatne soubory a pri
spousteni to micha vsechno dohromady. Navic ukazuje TestDruhy.java na
prvnim radku souboru chybu(ne pri kompilaci, pouze v editoru)-pouzita
rozhrani a tridy v souboru pri jiz byly definovany. To je pravda, ale v
jinem souboru a nebyly public.

Prosim, nevite nejaky figl, jak tuto feature obejit? Pripadne me zkusit
presvedcit, ze chybu delam ja? :)

Diky

S pozdravem 

Jirka Hradil
jirka na hradil.cz
http://www.hradil.cz



Další informace o konferenci Konference