Guarda bene nel costruttore di Client... Stai dichiarando e creando una nuova Socket col nome MyClient che sovrascrive l'omonima MyClient dichiarata come attributo.

Dici di passare un ResultSet... ma tu con output.println(com) stai scrivendo una stringa...
Per spedire un oggetto devi usare ObjectOutputStream (e lo ricevi con ObjectInputStream)


Altre cosette:

1. Le convenzioni: i nomi degli oggetti (così come i metodi) iniziano con la minuscola. Quindi myClient e non MyClient.
2. Gli attributi vanno messi private e non public. Se sono necessari anche all'esterno della classe devi fornire gli appositi getter.
3. Metodo close() static: perché? La classe Client ha già i riferimenti a quegli oggetti, chiudi direttamente quelli no? E fai un null-check altrimenti potrebbe scoppiare tutto