Тип A - уже определенная ошибка

Я попытался найти решение, но я нашел, что не знаю, как применить в этой ситуации. Пожалуйста, помогите мне исправить свой код.

package Exercise;

public class Ex11_11 {
public static void main(String[] args) {
    A a = new A(3);
    }
}

class A extends B { // type A is already defined, A has a red underline
    public A (int t) {
    System.out.println("A constructor is invoked");
    }
}

class B { // type B is already defined, B has a red underline
    public B () {
        System.out.println("B constructor is invoked");
    }  
}

Ответ 1

Ну, первое, что нужно проверить, очевидно, есть ли у вас другой класс под названием A в вашем файле или в том же пакете.

Ответ 2

Eclipse иногда путается. Если вы выберите Clean в меню Project, это может исправить эти ошибки.

Ответ 3

У меня была та же проблема. Мой компьютер был удален дистанционно с помощью I.T, и Eclipse не закрывался изящно. Я заметил, что в моем проекте был добавлен дополнительный java файл, который я не добавил. Удалил его, и теперь ошибка исчезла.

Ответ 4

Проверьте, сохранены ли все ваши файлы классов. У меня была эта проблема несколько раз: я определяю класс в файле класса, а затем перемещаю его в свой собственный. Java получает подтверждение, потому что он читает из старой версии исходного файла. Как только вы сохраните его с отсутствием определения класса в нем и определите класс в новом файле, все должно быть в порядке.

Ответ 5

В вашем проекте у вас может быть тестовый каталог с той же структурой пакета и тем же именем класса (например, скопировано без изменения имени класса в * Test).

Ответ 6

В Project- > Clean выберите "Очистить проекты, выбранные ниже", выберите мои проекты и отметьте "Начать сборку сразу" с помощью "Сборка только выбранных проектов".

Тогда проблема будет решена.

Ответ 7

Основной причиной этого является то, что где-то в том же пакете вы уже определили класс с именем A. который вызывает тип A, уже определена ошибка.

проверьте, есть ли какой-либо подкласс или внутренний класс с именем A

Ответ 8

Если ни одно из вышеперечисленных решений не помогло вам, то возможно, что Build Path испорчен. Когда вы добавляете src в путь сборки, убедитесь, что src отсутствует в списке исключений. Поместите * (подстановочный знак) в список включения и ничего в списке исключений.

Ответ 9

Удостовериться

Проект | Строить автоматически

проверено.

Ответ 10

Вы добавили еще один проект в путь сборки?

У меня была такая же проблема в моей среде разработки (Eclipse).
Мое приложение Maven потребляло другие приложения. На Eclipse эти проекты были просто добавлены в путь сборки. Один из них имел одинаковую структуру пакета и имя файла класса. В итоге Eclipse считает, что оба физически разных файла находятся в одном каталоге, поскольку структура пакета и имя файла совпадают.
Например, предположим, что есть два файла, как показано ниже:

/Users/uname/home/proj1/com/app/proj/main/java/util/file1.java

и

/Users/uname/home/proj2/com/app/proj/main/java/util/file1.java

и скажем, оба имеют имя пакета

com.app.define.proj.util

Если вы добавите один проект в другой, Eclipse будет считать, что оба файла находятся в одном месте.
Я решил, создав файл JAR из использованного приложения, добавив его в путь сборки и удалив проект Eclipse из пути сборки.