Lỗi biên dịch Java không thể tìm thấy biểu tượng

Lỗi biên dịch Java không thể tìm thấy biểu tượng

Vấn đề

Tôi nhờ bạn giúp đỡ. Tôi đã tạo một chương trình nhỏ trong các bộ phận tự động quản lý java bao gồm 6 lớp (kế thừa đơn):

Piece-một lớp trừu tượng (siêu lớp);

Hai lớp là phần mở rộng của Mảnh lớp:

  • PieceDeBase;
  • PieceCompozit (lớp trừu tượng);

Hai lớp là phần mở rộng của lớp PieceCompozit:

  • PieceCompổngEnKit;
  • PieceAssemblee;

Một lớp MainPiece là một ứng dụng của cả 5 lớp này.

6 lớp nằm trong cùng một thư mục Pieces.

Khi tôi biên dịch mảnh siêu lớp, rất tốt, tôi không có lỗi. Theo khuyết điểm, khi tôi biên dịch các lớp con, tôi gặp một lỗi như:

PieceDeBase.java: 7: không thể tìm thấy biểu tượng biểu tượng: lớp công khai Piece Piece PieceDeBase mở rộng PieceDeBase.java ^: 37: không thể tìm thấy biểu tượng biểu tượng: biến vị trí siêu: class {return Prog.Pieces.PieceDeBase super.toString () "- -Căn bản ";}

Đây là những lỗi duy nhất tôi có cho tất cả các lớp học của tôi.

Đây là mảnh lớp của tôi:

Mã: gói Prog.Pieces; nhập java.util. *; nhập java.io. *; Lớp trừu tượng công khai Mảnh {/ / Thuộc tính --------------------- --------------------- ----------------------------- ----------- Tên chuỗi được bảo vệ; tham chiếu chuỗi được bảo vệDeBase / / Con constructor ---------------------------- ---------------- ---------------------------------- Piece () {name = "unknown"; tham chiếuDeBase = "000000";} Mảnh (Chuỗi n, Chuỗi r) {name = n; tham khảoDeBase = r;} / / Accessor ------------ ------------------------------ -------------------- ------------------- getNom chuỗi công khai () {tên trả về;} công khai void setNom (String n) {name = n;} chuỗi công khai getReferenceDeBase () {return ReferenceDeBase;} public void setReferenceDeBase (String r) {r = ReferenceDeBase;} / / Các phương thức khác ----------- -------------------- ------------------------------ --------------- Chuỗi công khai toString () {tên trả về + "" + getReferenceDeBase ();} giá nổi công khai trừu tượng (); trừu tượng công cộng float dureeGarantie (); trừu tượng công cộng float dureeFovenation (); tiền tố chuỗi công khai trừu tượng (); public String ReferenceDeBase () {return ReferenceDeBase;} public void display () {System.out.println ("Name:" + getNom () + "\ n" + "Reference:" + ReferenceDeBase () + "\ n" + "Giá:" + price () + "euro (s) \ n" + "Đảm bảo:" + dureeGarantie () + "tháng \ n" + "thời gian sản xuất" dureeFovenation + () + "day (s) \ n" );} / / Phần được bảo vệ - ------------------------------------------ -------- ------------------------ afficheCommeComposants Chuỗi được bảo vệ (int offset) {String Decale = "" for (int i = 0; tôi

Và đây là lớp PieceDeBase của tôi (chỉ kể tên một vài bạn):

Gói Prog.Pieces; nhập java.util. *; nhập java.io. * lớp công khai mở rộng PieceDeBase Piece {/ / Thuộc tính ---------------------- ------------------ ------------------------- giá phao tư nhân; dureeGarantie tư nhân; riêng phao dureeFraftation / / Con constructor ------------------------------------------ - ----------------- PieceDeBase () {price = 0; dureeGarantie = 0; dureeFovenation = 0;} PieceDeBase (Chuỗi n, Chuỗi r, float p, float dg, float df) {super (n, r); giá = p; dureeGarantie = dg; dureeFovenation = df;} / / Accessor ----------------------- ------------------- ---------------------- công khai float getPrix () {giá trả lại; } void void setPrix (float p) {price = p;} public float getDureeGarantie () {return dureeGarantie;} public void setDureeGarantie (float dg) = dg {dureeGarantie;} (float df) {df = dureeFovenation;} / / Các phương thức khác ------------------------------------ ----------------------- chuỗi công khai toString () {return super.toString () + "- cơ sở";} giá float công khai () {return price;} float float dureeGarantie () {return dureeGarantie;} float float dureeFovenation () {return dureeFovenation;} tiền tố chuỗi công khai () {return "00" + super.reference ();}}

Đây có phải là một lỗi trong classpath của tôi hoặc mã của tôi?

Tôi thực sự hiểu bất cứ điều gì, tôi nghĩ mã của tôi chưa.

Nếu bạn có thể giúp tôi, tôi sẽ rất biết ơn.

Trân trọng.

Dung dịch

Do đó, không có lỗi trong mã java của tôi mà là các lệnh thông qua thiết bị đầu cuối.

Vì vậy, đối với những người có cùng lỗi biên dịch trong trường hợp thừa kế đơn giản, bạn phải xây dựng siêu lớp và lớp con của mình cùng một lúc và chỉ một lần:

 javac SuperClasse.java SousClasse1.java SousClasse2.java 

Trong trường hợp của tôi, đó là:

 javac Piece.java PieceDeBase.java PieceCompổng.java PieceCompổngEnKit.java PieceAssemblee.java MainPiece.java 

Điều đó, với tôi nó thực sự tốt và mọi thứ chạy hoàn hảo.

chú thích

Được giải quyết bằng mickeynad

Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên