On one level, what David is repressing is almost immediately apparent to the reader; he won't admit that he's gay. As one reads Giovanni's Room, it's remarkable how, when speaking about events, David can seem to be totally honest and direct. Yet when David speaks about David, he suddenly becomes evasive and short-spoken, a real master of self-deception. Over the course of the novel, we begin to wonder if David will ever be able to be honest with himself again.
David acts superior to the people he is romantically involved with because he wants to hide the fact that he feels unworthy of their love and affection.