Java error "modifier static not allowed here" can occur for any of the following reasons:
1. Constructor is declared as static(!)
A constructor cannot be static. In the wrong code below:
public class Person
{
private String firstName;
private String lastName;
public static Person()
{
//...
}
}
Here the constructor Person is declared as static. As the constructor must be non-static, the correct code is:
public class Person
{
private String firstName;
private String lastName;
public Person()
{
//...
}
}
2. Interface contains static method(!)
All methods of any interface is abstract and hence they must be non static. See the code below:
public interface MyInterface
{
public static void myMetod();
}
The above code is wrong as the interface method is declared as static. Corrected code is:
public interface MyInterface
{
public void myMetod();
}
Inner class ?
ReplyDeletepublic final class clazz
{
public static final class innerclazz{}
}
seems the containing class needs to be static ..