В затмении я пытаюсь работать boxbug, однако, он продолжает говорить мне, что публичный недействительный акт имеет приоритет над info.gridworld.actor.Bug
Это код, который я пытаюсь использовать (на Mac):
import info.gridworld.actor.Bug;
/**
* A <code>BoxBug</code> traces out a square "box" of a given size. <br />
* The implementation of this class is testable on the AP CS A and AB exams.
*/
public class BoxBug extends Bug
{
private int steps;
private int sideLength;
/**
* Constructs a box bug that traces a square of a given side length
* @param length the side length
*/
public BoxBug(int length)
{
steps = 0;
sideLength = length;
}
/**
* Moves to the next location of the square.
*/
public void act()
{
if (steps < sideLength && canMove())
{
move();
steps++;
}
else
{
turn();
turn();
steps = 0;
}
}
}
и он постоянно говорит мне, что не может найти "прикрепленный источник", когда я нажимаю на треугольник ошибок на стороне. Я не уверен, что делать.
2 ответа
Я буквально скопировал и вставил код в Eclipse, и он отлично работает. Проверьте, имеет ли ваш метод те же результаты, что и класс Bug. И, к сведению, ни один из кодов GridWorld не является окончательным. Это должно быть изменено.
Вероятно, метод объявлен как финальный в суперклассе Bug.
Документация Java для окончательных методов говорит следующее:
Вы можете объявить некоторые или все методы класса финальными. Вы используете ключевое слово final в объявлении метода, чтобы указать, что метод не может быть переопределен подклассами
http://docs.oracle.com/javase/tutorial/java/IandI/final.html