Il problema come ha detto shumy è che tenti di sommare due oggetti Matrice, e ovviamente essi non possono essere ne sommatti ne castati a double, quello che devi fare ed accedere all'array di double dichiarati nel due classi (proprietà tab).
Quindi quella istruzione diventerebbe :
codice:
tab[i][j]=a.tab[i][j]+ b.tab[i][j];
Ps sarebbe meglio mettere un metodo get per accedere alla proprietà tab.
Edit
Mi sono accorto adesso anche di un'altro errore. Tu stai scorrendo la proprietà tab relativa al this e non a l'oggetto a
codice:
publicMatrice somma (Matrice a,Matrice b){
for(int i=0;i<a.tab.length;i++){
for(int j=0;j<a.tab[0].length;j++){
a.tab[i][j]=a.tab[i][j]+ b.tab[i][j];
}
}
Questo ovviamente se vuoi che la somma sia salvata nell'oggetto a altimenti va bene la prima soluzione.