2015-05-12 1 views
0

У меня есть пакет «Мир», содержащий класс «Мир» и класс «Плитка». Класс World содержит массив Tiles. Когда я использую IDEA сформирует функцию конструктора, он производит конструктор так:Java: IntelliJ идея сгенерированный код неправильно префикс всех обозначений классов с их именем пакета

World(int width, int height, World.Tile[][] terrain) { 
    this.width = width; 
    this.height = height; 
    this.terrain = terrain; 
} 

Он сразу же выдвигает на первый план «Плитку» красную и говорит, что не может найти этот символ. Когда я удаляю «Мир». он работает так, как ожидалось.

Что я здесь испортил? Я запускаю новую установку IDEA, и у меня никогда не было этой проблемы раньше, но я не думаю, что я изменил все, что должно было вызывать это. Извините, если это было задано до того, как я попытался найти каждую перестановку слов, о которых я мог думать!

World Class Перед конструктором добавлен:

package World; 

public final class World { 

    private final int width; 
    private final int height; 

    private final Tile[][] terrain; 

} 
+0

Как выглядит код * перед * вы запускаете Generate Constructor? – IMSoP

+0

Христос как мне форматировать в комментариях ... Я отредактирую его. – arsenicblithely

+0

Он сделал это и в классе Tile (ссылка на enum TileType). Это выглядело практически идентично, всего несколько полей. – arsenicblithely

ответ

1

Obicere Комментарий:

Класс Мира, скорее всего, затенение пакета мира. По стандарту, именно поэтому вы используете строчные пакеты и имена классов с верхним верблюдом.

Имена пакетов могут теневые имена классов - используйте имена пакетов в нижнем регистре!

Смежные вопросы