salve,
sto studiando java e avrei bisogno di chiarimenti, sinceramente non so nemmeno se quello che sto per chiedere si possa fare.

io ho una classe astratta

codice:
public abstract class A{

protected String stringa;
 
// relativi set e get

}
poi ho due classi concrete che estendono la classe astratta

codice:
public class B extend A{

private String stringaB;
 
// relativi set e get

}

public class B extend C{

private String stringaC;
 
// relativi set e get

}

come posso fare se io volessi fare una classe che ha un metodo che puo ricevere sia B che C ed elaborare le stringhe specifiche di B oppure C

io avevo pensato cosi

codice:
public String ritornaString(A stringa){

// elabora la stringa
}
il problema è che facendo cosi io posso usare solo i metodi e le proprieta che sono nella classe A, quelli specifici per la classe B e C non li posso usare.

come bisogna fare per avere una astrazione cosi alta ?


grazie