Ошибка "Cannot find CharacterClass in java.lang.Character"

Рейтинг: 0Ответов: 1Опубликовано: 08.04.2023

Столкнулся с ошибкой при наследовании. Всё проходит хорошо, пока классы находятся в одном пакете.

Но при попытке наследовать из другого пакета, IDE ставит перед названием класса название пакета (в котором лежит этот класс) и точку, выдавая следом ошибку.

Я не знаю как это победить, я погуглил и внятного ответа не нашёл.

Класс CharacterClass:

package Character;

public class CharacterClass {
    ...
}

Класс Warrior:

package Players;

public class Warrior extends Character.CharacterClass {
    ...
}

Я понимаю что проблема в точке между Character и CharacterClass, но что делать, я не знаю.

UPD: заметил что не подключается import. Хотя в настройках подключен автоматический.

Ошибка:

Cannot resolve symbol 'CharacterClass' java: cannot find symbol symbol: class CharacterClass location: class java.lang.Character

Ответы

▲ 0Принят

По соглашению, имя пакета следует называть в соответствии с названием вашей организации. Например, если ваша организация владеет доменом example.org, то все ваши пакеты должны находится в пакете org.example (имя домена записывается в обратном порядке).

Например, ваш пакет players для программы app будет лежать в:

package org.example.app.players;

Следование этим правилам позволит вам избежать указанной в вопросе ошибки.

Ваша ошибка связана с тем, что у вас не получается правильно импортировать класс из пакета Character, потому что в java есть класс с таким названием: Character.

Класс Character находится в пакете java.lang, который импортируется автоматически.