Qual é a diferença entre a declaração de classe e a definição de classe em Java?
Aqui a definição geralmente significa descrição de futuros recursos/comportamento com detalhes.
A declaração é usada em casos em que a coisa desse tipo é criada - quando ela começa a existir (tangível no mundo do computador em tempo de execução; isto é, ocupa alguma memória a partir de agora). O termo é usado para variáveis, e basicamente significa que você diz de que tipo a variável é. Desse ponto de vista, a declaração de uma classe não faz sentido para uma classe se pensarmos na classe como uma descrição detalhada.
Update: O superior é uma visão, simples - com respeito à terminologia de línguas mais antigas (como Pascal), de um ponto de vista mais abstrato.
No entanto, a linguagem C começou a usar os termos de forma um pouco diferente. Ela separou as informações relacionadas à existência = a definição para um tipo de arquivo fonte - os arquivos de cabeçalho (*.h) das informações sobre os detalhes da implementação = a declaração - os arquivos de implementação (*.c). Os detalhes (a declaração) são necessários para compilar a descrição em binário, a informação abstraída (a definição) apenas diz que algum tipo/função/alguma coisa assim é declarada em outro lugar.
Quando se trata de C++ a abordagem em C para separação em arquivos de cabeçalho/implementação é preservada. Desse ponto de vista, a definição de uma classe apenas diz qual é o nome da classe, quais são as variáveis membros, e quais são os protótipos de métodos (como as funções membros são chamadas, e que parâmetros de que tipos esperam). A declaração contém os corpos dos métodos, a forma como as variáveis membros são inicializadas, etc.
Mas também existem outras linguagens onde os termos podem soar de forma diferente. Pense nas linguagens OO, onde a classe é representada por uma instância, o protótipo, o template que é usado para criar outros objetos desse tipo. Então o termo classe em si pode ser mais abstrato - pode faltar uma introdução/descrição formal em um código fonte. Então os termos declaração/definição...
Terminologia introduz termos - as abreviações das ideias. O que é mais importante aprender é construir sua imaginação, para ver o que está por trás dos termos. Então você usa os termos apenas para poder se comunicar com os outros - para comparar suas imagens internas da solução com as deles.