Compile Time Changes

Global Variables

In 15.5, global variables explicitly require to be declared with visibility. Omitted visibility will result in compilation error. In previous versions, global variables declared without visibility would be allowed, but, you would not be able to access them - since each global variable would be scoped in their own run function.

int a; // forbidden in 15.5
private/package/public int a; // ok

{
    ...
}

Any global variables declared as static will cause a compilation error. In previous versions, globals declared as static would only generate a compiler error if declared with public/private/package modifier.

static int a; // forbidden in 15.5
private/package/public static int a; // still forbidden in 15.5

{
    ...
}