Why must one say classe de francais, for french class, and not classe francaise? How does one know when to use de in a descriptive phrase?

If you are studying the French language it is then "la classe de français." Languages are masculine.

Under other circumstances, if the adjective modifies the noun "la classe", it could be "la classe française OR anglaise, chinoise, etc.

SRa (aka Mme)