Jak eclipse wykonuje kod java, gdy występują błędy kompilacji

Gdy następujący kod java jest wykonywany w eclipse, daje poprawne wyjście (tj. Drukuje 'Class B'), ale zgodnie ze specyfikacją java, kod nie może być skompilowany (ponieważ konstruktor super klasy wymagaint argument i konstruktor dostarczony przez kompilator do klasy B zawiera wywołanie super klasy bez konstruktora arg, który nie jest zdefiniowany), a gdy próbujesz skompilować plik za pomocą polecenia javac w wierszu poleceń, kompiluje on tylko superklasę, tj. klasę A i kończy się niepowodzeniem z następującym błędem kompilacji:

<code>B.java:8: cannot find symbol
symbol  : constructor A()
location: class A
public class B extends A {
   ^
1 error
</code>

Poniżej przedstawiono zawartość pliku java:

<code>class A {

    public A(int x) {
        //
    }
}

public class B extends A {

    public static void main(String[] args) {
        System.out.println("Class b");
    }
}
</code>

Czy ktoś może wyjaśnić, jak eclipse wykonuje główną metodę bez możliwości kompilacji klasy. Z góry dziękuję.

AKTUALIZACJA

Usunąłem plik .class utworzony przez eclipse w folderze bin i próbowałem wykonać klasę i nie można go skompilować, dlatego nie uruchomiłem. Ale kiedy utworzyłem plik źródłowy o nazwie klasy publicznej i zapisałem go bez zawartości, a następnie dodałem powyższą zawartość, zadziałało. Jeśli eclipse używa poprzednio skompilowanej wersji do wykonania, jak może dać wynikmain metoda, ponieważ nie miałamain metoda w momencie pełnej kompilacji sukcesu?

questionAnswers(3)

yourAnswerToTheQuestion