Hola:
Si haces las cosas desde el main, que es static, sólo puedes referencias atributos y métodos static de la misma clase. La que tú has dado es una posible solución, aunque no es la más elegante desde el punto de vista de orientación a objetos.
Lo habitual suele ser que el main() apenas haga nada, sólo hacer un new de la clase y quizás alguna cosa más, pero poco. Luego, en el constructor de la clase o en algún método que se llame desde el main(), se hace el resto de las cosas, ya sin necesidad de que todo sea static. Ahí va una especie de ejemplo
Código:
public class Principal {
private Fachada f=null;
public static void main (String [] args) {
Principal p = new Principal();
p.comienzaATrabajar();
}
public Principal () {
// inicializacion
f = Fachada.getFachada();
}
public void comienzaATrabajar() {
// Aquí tu código que hace cosas. Ya no es necesario que
// las cosas sean static.
f.metodoDeFachada();
}
}