ورود

View Full Version : سوال: ایجاد یک نمونه از یک زیرکلاس



arminale
شنبه 26 مرداد 1392, 17:28 عصر
سلام دوستان:لبخند:
من یه برنامه نوشتم که کارش اینه :
1-محل قرار گرفتن اسب روی صفحه ی شطرنج رو می گیره
2- خونه هایی رو که اسب می تونه بهشون بره رو بر می گردونه.

بعد تصمیم گرفتم برای بقیه ی مهره ها گسترشش بدم. نتیجه این شد که یه کلاس به اسم Mover دارم که بقیه ی کلاس ها ( KnightMover و BishopMover و ... ) زیر کلاسشن. حالا مشکلم اینه که وقتی می خوام یه نمونه از مثلا KnightMover ایجاد کنم:

KnightMover kMover = new KnightMover();

این ارور رو میده :

No enclosing instance of type Mover is accessible. Must qualify the allocation with an enclosing instance of type Mover (e.g. x.new A() where x is an instance of Mover).


یه بار قبلش یه نمونه از Mover ایجاد کردم ولی درست نشد. یه بار دیگه هم Mover رو import کردم ولی بازم تاثیری نداشت. می تونین به من کمک کنین ؟:افسرده::ناراحت:

درضمن هیچ کدوم از این کلاس ها constructor ندارن و همشون public و non-static هستن.

cups_of_java
شنبه 26 مرداد 1392, 19:12 عصر
احتمالن توی یکی از کلاس های یه کلاس داخلی (inner class) داری که درست ازش new نمیکنی. برای اینکه حل شه، اون کلاس داخلی توی هر کلاسی هست (مثلن Mover) اسم کلاس رو قبل new بیار مثلن:
Mover.new InnerClass()

arminale
شنبه 26 مرداد 1392, 20:56 عصر
دوست من منظورتون رو متوجه نشدم. اینو دقیقا کجا بنویسم؟ می تونین بیشتر توضیح بدین؟ من تازه دارم جاوا یاد می گیرم.

arminale
شنبه 26 مرداد 1392, 21:03 عصر
مرسی از راهنماییتون توی این سایت (http://www.javaranch.com/campfire/StoryInner.jsp) فهمیدم چه کار کنم

cups_of_java
شنبه 26 مرداد 1392, 22:12 عصر
حالا که کارت راه افتاد ولی اصولن تو این شرایط کدشونو میزارن تا دیده بشه و ایرادش در بیاد! کسی که کد رو ندیده چطوری راهنماییت کنه آخه!؟