Como o eclipse executa código java quando há erros de compilação

Quando o seguinte código java é executado no eclipse, ele fornece a saída correta (ou seja, imprime 'Classe B'), mas de acordo com a especificação java, o código não pode ser compilado (já que o construtor de superclasse requer umaint argumento e o construtor fornecido pelo compilador para a classe B inclui uma chamada para o construtor super class no arg, que não está definido), e quando tentar compilar o arquivo usando o comando javac na linha de comando, ele compila apenas a classe super class ie A e falha com o seguinte erro de compilação:

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

A seguir está o conteúdo do arquivo 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>

Alguém pode explicar como o eclipse executa o método principal sem que o bieng possa compilar a classe. Desde já, obrigado.

ATUALIZAR

Eu apaguei o arquivo .class creatd por eclipse na pasta bin e tentei executar a classe, e ela não pôde ser compilada, portanto não foi executada. Mas quando eu criei um arquivo de origem com o nome da classe pública e salvei sem qualquer conteúdo e, em seguida, adicionei o conteúdo acima, funcionou. Se eclipse usa a versão compilada anteriormente para executar, como poderia dar a saída domain método, uma vez que não possuíamain método no momento do sucesso compilação completa?

questionAnswers(3)

yourAnswerToTheQuestion