Programmers often complain about the verbosity of Java. Once you specify all the modifiers that must be applied, it’s not difficult to see how it can quickly become verbose:
public static void veryLongNamingConventions() {
// ...
}
JS++ does this differently. Following the OOP principle of encapsulation, JS++ provides convenient default rules for access modifiers.
By default, only fields (variable members of classes) are private. All other class members – such as methods, getters, setters, and constructors – are public by default.
This makes it very easy to write concise code:
class Point
{
int x, y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
int getX() { return this.x; }
int getY() { return this.y; }
}
In the above code, the fields x and y are private. Meanwhile, the constructor and the getX/getY methods are all public. We can be explicit and manually specify the access modifiers, but it’s not necessary in JS++.
