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++.