javacoding-stylemodifiers

Difference between 'public static' and 'static public'


In Java, I found that some developers write:

public static functionName() {}

But some others write:

static public functionName() {}

What's the difference between these two?


Solution

  • From the Java Language Specification, section 8.4.3:

    If two or more (distinct) method modifiers appear in a method declaration, it is customary, though not required, that they appear in the order consistent with that shown above in the production for MethodModifier.

    So they can appear in any order, but there is a recommended ordering. The order is:

    Annotation public protected private abstract static final synchronized native strictfp