Napaka pri prevajanju Java ne more najti simbola
Napaka pri prevajanju Java ne more najti simbola
Težava
Prosim za vašo pomoč. Naredil sem majhen program v avta delih, ki ga sestavlja 6 razredov (eno dedovanje):
Kos - abstraktni razred (superklasa);
Dva razreda, ki sta razširitev razreda Piece:
- PieceDeBase;
- PieceComposite (abstraktni razred);
Dva razreda, ki sta razširitev razreda PieceComposite:
- PieceCompositeEnKit;
- PieceAssemblee;
Razred-MainPiece, ki je uporaba vseh teh 5 razredov.
6 razredov je v istem imeniku Pieces.
Ko sestavim superklasični Piece, tako dobro, brez napak. Do pomislekov, ko sestavim podrazrede, dobim napako, kot je:
PieceDeBase.java: 7: ne najdem simbola simbola: razred javnega razreda Piece Piece PieceDeBase razširja PieceDeBase.java ^: 37: ne najdem simbola simbola: spremenljivka super lokacija: razred {vrnitev Prog.Pieces.PieceDeBase super.toString () + "- -Osnovno";}
To so edine napake, ki jih imam za vse svoje razrede.
Tukaj je moj razred Piece:
Koda: paket Prog.Pieces; uvoz java.util. *; import java.io. *; javni abstraktni razred Piece {/ / Atributi --------------------- --------------------- ----------------------------- ----------- zaščiteno ime niza; zaščitene nizi referenceDeBase / / konstruktorji ---------------------------- ---------------- ---------------------------------- Kos () {name = "unknown"; referenceDeBase = "000000";} kos (niz n, niz r) {name = n; referenceDeBase = r;} / / Accessors ------------ ------------------------------ -------------------- ------------------- getNom javno String () {return name;} public void setNom (String n) {ime = n;} javni String getReferenceDeBase () {return referenceDeBase;} javni void setReferenceDeBase (String r) {r = referenceDeBase;} / / Druge metode ----------- -------------------------------------------------------------- --------------- public String toString () {return name + "+ getReferenceDeBase (); abstraktno javno float dureeGarantie (); abstraktno javno float dureeFabrication (); abstraktna predpona String (); public String referenceDeBase () {return referenceDeBase;} javni void display () {System.out.println ("Ime:" + getNom () + "" "" "referenca:" + referenceDeBase () + "\ t "Cena:" + cena () + "evro (e)" "+" jamstvo: "+ dureeGarantie () +" mesec n "+" čas izdelave "dureeFabrication + () +" dan (i) " }; / / protected Part - ------------------------------------------ -------- ------------------------ afficheCommeComposants zaščitena String (int offset) {String Decale = "" za (int i = 0; In tukaj je moj razred PieceDeBase (samo da navedem nekaj od vas): Paket Prog.Pieces; uvoz java.util. *; import java.io. * javni razred razširja PieceDeBase Piece {/ / atribute ---------------------- ------------------ ------------------------- zasebna plavajoča cena; zasebno float dureeGarantie; zasebno float dureeObdelava / / konstruktorji ------------------------------------------ - ----------------- PieceDeBase () {price = 0; dureeGarantie = 0; dureeFabrication = 0;} PieceDeBase (niz n, niz r, float p, float dg, float df) {super (n, r); cena = p; dureeGarantie = dg; dureeFabrication = df;} / / Dostopniki ----------------------- ------------------- ---------------------- javna float getPrix () {povratna cena; } javna void setPrix (float p) {price = p;} javni float getDureeGarantie () {return dureeGarantie;} javni void setDureeGarantie (float dg) = dg {dureeGarantie;} javni float getDureeFabrication () {return dureeFabrication;} public void setDureeFabrication (float df) {df = dureeFabrication;} / / druge metode ------------------------------------ ----------------------- public String toString () {return super.toString () + "- base"; cena;} javni float dureeGarantie () {return dureeGarantie;} javni float dureeFabrication () {return dureeFabrication;} javna predpona String () {return "00" + super.reference ();}} Je to napaka v mojem razredu ali moji kodi? Resnično razumem karkoli, mislil sem, da je moja koda šele. Če bi mi lahko pomagali, bi bil zelo hvaležen. S spoštovanjem.Rešitev
Tako ni bilo napake v moji java kodi, ampak ukazov preko terminala.
Torej, za tiste, ki imajo enake napake pri kompilaciji v primeru preprostega dedovanja, morate zgraditi svoje super razrede in podrazrede istočasno in samo enkrat:
javac SuperClasse.java SousClasse1.java SousClasse2.java
V mojem primeru je bilo:
javac Piece.java PieceDeBase.java PieceComposite.java PieceCompositeEnKit.java PieceAssemblee.java MainPiece.java
To mi je zelo dobro in vse teče odlično.
Opomba
Rešeno z mickeynad