[ Alter Ego @ 08.05.2004. 15:54 ] @
Hitno mi je potrebna pomoć!
Imam problem sa predefinisanim konstruktorom. Naime, iz jedne klase pozivam konstruktor druge klase (predefinisan) sa 3 parametra. Međutim, neće da se kompajlira već daje sledeću poruku:

Code:

EvidencijaOVakcinamaKontroler.java [80:1] cannot resolve symbol
symbol  : constructor Vakcina (java.lang.String,boolean,double)
location: class Vakcina
        Vakcina v = new Vakcina(nazivVakcine,obavezna,cena);
                    ^
1 error
Errors compiling EvidencijaOVakcinamaKontroler.


Ali kada zovem implicitni konstruktor, tada nema problema.
Probao sam i da prvo pozovem imlicitni konstruktor, pa da zatim atribute postavim pomoću posebnih metoda, ali ni to ne radi. Njih ne prepoznaje, iako ih autocomplete "vidi".

Vidljivost klase je public, konstruktori takođe. Kompajliranje ne radi ni iz NetBeans-a ni iz javac.

Dakle, šta može da bude!?
[ filmil @ 08.05.2004. 16:41 ] @
Pošto izgleda da se tipovi promenljivih u konstruktoru slažu sa definicijom u klasi, evo jedan od mogućih scenarija za ovu grešku:

- Napisao si klasu Vakcina.java i iskompajlirao; ali bez konstruktora koji ti treba. Sve prošlo bez grešaka.
- Napisao si Evidencija... .java i iskompajlirao, bez korišćenja dotičnog konstruktora.
- Dopisao si konstruktor i pripadajuće funkcije ali sa greškom. Kompajliraš fajl ali ne primećuješ da kompajliranje nije prošlo.
- Dopisuješ Evidenciju da koristi novi konstruktor. Prevodiš i prevođenje ne uspeva, dajući grešku koju si poslao. Pošto je sors u redu, autocomplete vidi deklaraciju novog konstruktora. Ali i dalje imaš stari .class fajl jer se nova Vakcina.java nikada nije prevela; zato u njoj nema ni signature novog konstruktora sa tri argumenta.

f
[ Alter Ego @ 08.05.2004. 18:52 ] @
Sumnjam da je to u pitanju, pošto pre svakog pokretanja programa koristim opciju Compile all, odnosno Build all, a ni kompajliranje svih klasa iz konzole nije pomoglo.
Sada radi bez problema, čačkao sam po classpath-u, možda je to pomoglo.
[ antix @ 10.05.2004. 01:01 ] @
a da ti se slučajno nije potkrala početnička greška:

naveo si povratni tip konstruktoru pa ga kompajler ne prepoznaje
kao konstruktor?