title: Options for creating Java classes in Clojure
body: <p>There are a few different ways to create Java classes in Clojure, so what are the tradeoffs when picking between <a href="http://clojuredocs.org/clojure_core/clojure.core/gen-class"><code>gen-class</code></a>, <a href="http://clojuredocs.org/clojure_core/clojure.core/proxy"><code>proxy</code></a>, and <a href="http://clojuredocs.org/clojure_core/clojure.core/reify"><code>reify</code></a> in Clojure?  (are there other ways to create Java classes that I haven't listed?)</p>
  
  <p>My basic understanding is that I have listed these constructs in decreasing order of power.</p>