You are right about the interpretation of the betas when there is a single categorical variable with $k$ levels.  If there were multiple categorical variables (and there were no interaction term), the intercept ($\hat\beta_0$) is the mean of the group that constitute the reference level for *both* (all) categorical variables.  Using your example scenario, consider the case where there is no interaction, then the betas are:  

 - $\hat\beta_0$: the mean of white males
 - $\hat\beta_{\rm Female}$: the *difference* between the mean of females and the mean of white males
 - $\hat\beta_{\rm Black}$: the *difference* between the mean of black males and the mean of white males

We can also think of this in terms of how to calculate the various group means:  
\begin{align}
 &\bar x_{\rm White\ Males}&   &= \hat\beta_0  \\
 &\bar x_{\rm White\ Females}& &= \hat\beta_0 + \hat\beta_{\rm Female}  \\
 &\bar x_{\rm Black\ Males}&   &= \hat\beta_0 + \hat\beta_{\rm Black}  \\
 &\bar x_{\rm Black\ Females}& &= \hat\beta_0 + \hat\beta_{\rm Female} + \hat\beta_{\rm Black}
\end{align}

If you had an interaction term, it would be added at the end of the equation for black females.  (The interpretation of such an interaction term is quite convoluted, but I walk through it here: [Interpretation of interaction term](http://stats.stackexchange.com/a/122251/7290).)