Hola:
Uno de los principios básico es no repetir código (busca cosas sobre DRY "Don't repeat yourself"), así que en principio no es bueno repetir ese método en A y B.
Tampoco es bueno que dos clases dependan una de la otra, es mejor diseño si una depende de la otra y no al revés (la más compleja o de más alto nivel debería depender de la más sencilla o de más bajo nivel y no al revés), así que sí sería conveniente eliminar esa dependencia. Hay muchas posibilidades, tantas como imaginación tengas, elige la que veas mejor. Ahí van unas cuantas.
Si es posible, la más sencilla, mueve el código de ese método de una clase a otra, y que A llame a B para usar ese método. Esa dependencia ya la tienes.
Piensa en una tercera clase para ese método y lo que necesite, así A y B dependerán de esa tercera clase más pequeña, pero B no dependerá de A.
Uso de interfaces. A puede implementar una interface que te hagas y que tenga ese método. B vería a A pero como interface
public UnaInterface {
public void elMetodoDeMarras (....);
}
public class A implements UnaInterface {
public void elMetodoDeMarras (....) {
}
}
public class B {
UnaInterface a;
public B (UnaInterface a) {
this.a = a;
}
}
Se bueno.