Błąd kompilacji Java nie może znaleźć symbolu

Błąd kompilacji Java nie może znaleźć symbolu

Kwestia

Proszę o twoją pomoc. Zrobiłem mały program w automatycznych częściach zarządzania java, który składa się z 6 klas (jedno dziedziczenie):

Klasa-abstrakcyjna klasa (superklasa);

Dwie klasy będące rozszerzeniem klasy Piece:

  • PieceDeBase;
  • PieceComposite (klasa abstrakcyjna);

Dwie klasy będące rozszerzeniem klasy PieceComposite:

  • PieceCompositeEnKit;
  • PieceAssemblee;

Klasa-MainPiece, która jest aplikacją wszystkich tych 5 klas.

6 klas znajduje się w tym samym katalogu Pieces.

Kiedy kompiluję superklasę Kawałek, tak dobrze, nie mam błędów. Dzięki kompilacjom podklas otrzymuję komunikat o błędzie:

PieceDeBase.java: 7: nie można znaleźć symbolu symbolu: klasa klasy publicznej Piece Piece PieceDeBase rozszerza PieceDeBase.java ^: 37: nie może znaleźć symbolu symbolu: zmienna super lokalizacja: klasa {return Prog.Pieces.PieceDeBase super.toString () + „- -Basic”;}

To jedyne błędy, które mam dla wszystkich moich zajęć.

Oto moja klasa Piece:

Kod: pakiet Prog.Pieces; import java.util. *; import java.io. *; publiczna abstrakcyjna klasa Piece {/ / Atrybuty --------------------- --------------------- ----------------------------- ----------- chroniona nazwa ciągu; protected String referenceDeBase / / Constructors ---------------------------- ---------------- ---------------------------------- Piece () {name = "unknown"; referenceDeBase = "000000";} Piece (String n, String r) {name = n; referenceDeBase = r;} / / Accessors ------------ ------------------------------ -------------------- ------------------- getNom public String () {return name;} public void setNom (String n) {name = n;} public String getReferenceDeBase () {return referenceDeBase;} public void setReferenceDeBase (String r) {r = referenceDeBase;} / / Inne metody ----------- -------------------- ------------------------------ --------------- public String toString () {return name + "" + getReferenceDeBase ();} abstract public float price (); streszczenie publicznych float dureeGarantie (); streszczenie publicznych float dureeFabrication (); abstrakcyjny publiczny prefiks String (); public String referenceDeBase () {return referenceDeBase;} public void display () {System.out.println ("Nazwa:" + getNom () + "n" + "Reference:" + referenceDeBase () + "n" + „Cena:” + cena () + ”euro (s) n" + "Gwarancja:" + dureeGarantie () + "miesiąc n" + "czas produkcji" dureeFabrication + () + "dzień (y) n" );} / / protected Part - ------------------------------------------ -------- ------------------------ afficheCommeComposants chronione String (int offset) {String Decale = "" dla (int i = 0;

A oto moja klasa PieceDeBase (żeby wymienić tylko kilku z was):

Pakiet Prog.Pieces; import java.util. *; import java.io. * public class extends PieceDeBase Piece {/ / Attributes ---------------------- ------------------ ------------------------- prywatna cena float; prywatny float dureeGarantie; private float dureeFabrication / / Konstruktorzy ------------------------------------------ - ----------------- PieceDeBase () {price = 0; dureeGarantie = 0; dureeFabrication = 0;} PieceDeBase (String n, String r, float p, float dg, float df) {super (n, r); cena = p; dureeGarantie = dg; dureeFabrication = df;} / / Accessors ----------------------- ------------------- ---------------------- public float getPrix () {cena powrotu; } public void setPrix (float p) {price = p;} public float getDureeGarantie () {return dureeGarantie;} public void setDureeGarantie (float dg) = dg {dureeGarantie;} public float getDureeFabrication () {return dureeFabrication;} public void setDureeFabrication; (float df) {df = dureeFabrication;} / / Inne metody ------------------------------------ ----------------------- public String toString () {return super.toString () + "- base";} public float price () {return cena;} public float dureeGarantie () {return dureeGarantie;} public float dureeFabrication () {return dureeFabrication;} public String prefix () {return "00" + super.reference ();}}

Czy to błąd w mojej ścieżce klasy lub w moim kodzie?

Naprawdę wszystko rozumiem, pomyślałem jeszcze o moim kodzie.

Gdybyś mógł mi pomóc, byłbym bardzo wdzięczny.

Pozdrowienia.

Rozwiązanie

Nie było więc żadnego błędu w moim kodzie java, ale raczej komendy przez terminal.

Więc dla tych, którzy mają takie same błędy kompilacji w przypadku prostego dziedziczenia, musisz zbudować super klasy i podklasy jednocześnie i tylko raz:

 javac SuperClasse.java SousClasse1.java SousClasse2.java 

W moim przypadku było to:

 javac Piece.java PieceDeBase.java PieceComposite.java PieceCompositeEnKit.java PieceAssemblee.java MainPiece.java 

To dla mnie naprawdę dobrze i wszystko działa doskonale.

Uwaga

Rozwiązany przez mickeynada

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki