Is it OK to reference 'this' when initializing a field?
<p>Is it OK to reference <code>this</code> when initializing a field?</p>

<pre><code>public class MainClass {

  private SomeFieldClass field = new SomeFieldClass(this);

  public MainClass() {}

}
</code></pre>

<p>Or is it better to do that in constructor?</p>

<pre><code>public class MainClass {

  private SomeFieldClass field;

  public MainClass() {
    this.field = new SomeFieldClass(this);
  }

}
</code></pre>

<p>What is the best practice? I believe first option is better for unit testing and dependency injection. Are there any problems with it?</p>
