Комментарии

Я всегда думал: один файл исходного кода — один класс. Что произошло? Когда?

Всегда.
Может вы путаете с "один файл исходного кода, один публичный класс"

Интересно, на сколько я знаю, в андроиде вместо class используются dex файлы. В чем их преимущество?
Своя виртуальная машина, несовместимый с java байт-код. Скорее всего, ради уменьшения рисков от патентных преследований + приобретение собственных патентных преимуществ, если кто-то другой захочет использовать формат .dex
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.