<p>The very common beginner mistake is when you try to use a class property &quot;statically&quot; without making an instance of that class. It leaves you with the mentioned error message:</p>
<blockquote>
<p>You can either make the non static method static or make an instance of that class to use its properties.</p>
</blockquote>
<p><strong>What the reason behind this? Am not concern with the solution, rather the reason.</strong></p>
<pre><code>private java.util.List&lt;String&gt; someMethod(){
    /* Some Code */
    return someList;            
}

public static void main(String[] strArgs){          
     // The following statement causes the error. 
    java.util.List&lt;String&gt; someList = someMethod();         
}
</code></pre>

The method you are trying to call is an instance-level method; you do not have an instance.
```
static
```
methods belong to the class, non-
```
static
```
methods belong to instances of the class.