Livaanderiamarum,
Э то не костыль, а так сказать подражание программированию классами, да можно сделать приватные, статические, приватные статические классы и методы.
function Class() {
Class.prototype.init.apply(this, arguments)
}
Class.prototype = new function (Class) {
// private (Вызывается в контексте инстанса)
function privateMethod () {
}
// public
this.init = function () {
privateMethod.call(this);
}
// public static
Class.staticMethod = function () {
privateStatic();
}
// независим от контекста
function privateStatic () {
}
}(Class);
А в java да, там для этого специальные конструкции
class Class() {
public void init () {}
private void privateMethod () {}
public static void staticMethod() {}
private static void privateStatic(){}
}