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

Prejšnji Članek Naslednji Članek

Top Nasveti