Create instance of class or superclass from generic type
<p>I'm new in Java. 
I'm developing program for Android similar to app for iOS.
One of the purposes of app - is get data from server.
Data often is <strong>array</strong> with <strong>dictionaries</strong> like "id = 1", "name = SomeName".
I've class</p>

<pre><code>class BaseArrayList&lt;Type extends BaseItem&gt; extends BaseItem {

public void processObject(Map&lt;?,?&gt; map) {
     //......
     //Some loop body
     Type item =  (Type) Type.create();
     item.processObject(map);
     //.....
}
</code></pre>

<p>Also BaseItem have method create():</p>

<pre><code>public static BaseItem create() {
    return new BaseItem();
}
</code></pre>

<p>It works, but for sublass of BaseItem -it doesn't work.
I found that static methods are not overriding.</p>

<p>So, how I can resolve this task: create custom class in array with just creating custom instances of BaseArrayList such as:</p>

<pre><code>new BaseArrayList&lt;SomeSublassOfBaseItem&gt;
</code></pre>

<p>This issue resolved in ObjC like this - </p>

<pre><code>[[memberClass alloc] init];
</code></pre>
