Public Java class named differently than file
<p>At one of the university classes we have to develop programs in Java. One of the requirements is to name all our files with pattern <code>surname_firstname_exerciseN_className.java</code>. Another requirement is that we must split our programs into multiple files. As you can imagine, these two don't play well together.</p>

<p>I'm trying to work around this by "translating" my class names. For example, if I write a class named "Something", I do this in my <code>long_prefix_something.java</code> file:</p>

<pre><code>public class long_prefix_something extends Something {}

class Something {
    // class code
}
</code></pre>

<p>And I want to use class Something in another file. So I do this in that other file:</p>

<pre><code>class Something2 extends long_prefix_something { }
</code></pre>

<p>What bothers me, is that I can't translate <code>long_prefix_something</code> back to <code>Something</code> because of circular inheritance error, I have to use <code>Something2</code> instead.</p>

<p>Is there anyway to overcome this? Any annotation to use or something similar?</p>
