Јава Цомпиле Еррор не може да пронађе симбол

Јава Цомпиле Еррор не може да пронађе симбол

Питање

Тражим вашу помоћ. Направио сам мали програм у јава менаџмент ауто деловима који се састоји од 6 класа (једно наслеђивање):

Комад-апстрактна класа (суперкласа);

Две класе које су наставак класе Пиеце:

  • ПиецеДеБасе;
  • ПиецеЦомпосите (апстрактна класа);

Две класе које су проширење класе ПиецеЦомпосите:

  • ПиецеЦомпоситеЕнКит;
  • ПиецеАссемблее;

Класа-МаинПиеце која је примена свих ових 5 класа.

6 класе су у истом директоријуму Пиецес.

Када саставим супер класу, тако добро, немам грешака. До контра, када компајлирам подкласе, добијам грешку као:

ПиецеДеБасе.јава: 7: не може да нађе симбол симбола: цласс публиц цласс Комад Пиеце ПиецеДеБасе протеже ПиецеДеБасе.јава ^: 37: не може да пронађе симбол симбола: променљива супер локација: класа {повратак Прог.Пиецес.ПиецеДеБасе супер.тоСтринг () + "- -Басиц";}

То су једине грешке које имам за све моје часове.

Овде је моја класа Пиеце:

Код: пакет Прог.Пиецес; импорт јава.утил. *; импорт јава.ио. *; јавна апстрактна класа Пиеце {/ / Атрибути --------------------- --------------------- ----------------------------- ----------- заштићено име низа; заштићени Стринг референцеДеБасе / / Конструктори ---------------------------- ---------------- ---------------------------------- Комад () {наме = "ункновн"; референцеДеБасе = "000000";} Пиеце (Стринг н, Стринг р) {наме = н; референцеДеБасе = р;} / / Аццессорс ------------ ------------------------------ -------------------- ------------------- гетНом публиц Стринг () {ретурн наме;} публиц воид сетНом (Стринг н) {наме = н;} Стринг гетРеференцеДеБасе () {ретурн референцеДеБасе;} публиц воид сетРеференцеДеБасе (Стринг р) {р = референцеДеБасе;} / / Другие методи ----------- -------------------- ------------------------------ --------------- публиц Стринг тоСтринг () {ретурн наме + "+ гетРеференцеДеБасе (); абстрацт публиц флоат дурееГарантие (); абстрацт публиц флоат дурееФабрицатион (); апстрактни јавни префикс стринга (); публиц Стринг референцеДеБасе () {ретурн референцеДеБасе;} публиц воид дисплаи () {Систем.оут.принтлн ("Наме:" + гетНом () + "" "" "Референце" "+ референцеДеБасе () +" \ т "Цена:" + цена () + "еуро (с)" "+" Гаранција: "+ дурееГарантие () +" месец н "+" време производње "дурееФабрицатион + () +" дан (а) " }; / / протецтед Парт - ------------------------------------------ -------- ------------------------ аффицхеЦоммеЦомпосантс заштићени Стринг (инт оффсет) {Стринг Децале = "" фор (инт и = 0;

И ево моје класе ПиецеДеБасе (само да наведем неколико вас):

Прог.Пиецес пакет; импорт јава.утил. *; импорт јава.ио. * публиц цласс ектендс ПиецеДеБасе Пиеце {/ / Атрибути ---------------------- ------------------ ------------------------- приватна плутајућа цијена; привате флоат дурееГарантие; привате флоат дурееФабрицатион / / Конструктори ------------------------------------------ - ----------------- ПиецеДеБасе () {прице = 0; дурееГарантие = 0; дурееФабрицатион = 0;} ПиецеДеБасе (Стринг н, Стринг р, флоат п, флоат дг, флоат дф) {супер (н, р); цена = п; дурееГарантие = дг; дурееФабрицатион = дф;} / / Аццессорс ----------------------- ------------------- ---------------------- публиц флоат гетПрик () {повратна цена; публиц воид сетПрик (флоат п) {прице = п;} публиц флоат гетДурееГарантие () {ретурн дурееГарантие;} публиц воид сетДурееГарантие (флоат дг) = дг {дурееГарантие;} публиц флоат гетДурееФабрицатион () (флоат дф) {дф = дурееФабрицатион;} / / Други методи ------------------------------------ ----------------------- публиц Стринг тоСтринг () {ретурн супер.тоСтринг () + "- басе"; прице;} публиц флоат дурееГарантие () {ретурн дурееГарантие;} публиц флоат дурееФабрицатион () {ретурн дурееФабрицатион;} публиц Стринг префик () {ретурн "00" + супер.референце ();}}

Да ли је ово грешка у мојој класи или коду?

Заиста разумем било шта, мислио сам да је мој код тек још.

Да ми можете помоћи, био бих вам захвалан.

Поздрави.

Решење

Дакле, није било грешке у мом јава коду, већ командама преко терминала.

Дакле, за оне који имају исте грешке у компилацији у случају једноставног наслеђивања, морате изградити ваше супер класе и подкласе у исто време и само једном:

 јавац СуперЦлассе.јава СоусЦлассе1.јава СоусЦлассе2.јава 

У мом случају, то је био:

 јавац Пиеце.јава ПиецеДеБасе.јава ПиецеЦомпосите.јава ПиецеЦомпоситеЕнКит.јава ПиецеАссемблее.јава МаинПиеце.јава 

То ми је јако добро и све иде савршено.

Белешка

Солвед би мицкеинад

Претходни Чланак Sledeći Чланак

Топ Савети