我是一名java程序员,我正在尝试创建一些与JS中的公共静态类接近的东西。
这就是我在java中编写代码的方式:
class Static{
private static final int privInt;
public static int pubInt;
static{
privInt = 5;
}
public int pubMeth(){
return privMeth();
}
private static int privMeth(){
return false;
}
}
我很难从两种选择中选择:
var Static1 = new function(){
var privInt;
this.pupInt = 5;
privInt = 5;
this.pupMeth = function(){
return privMeth();
};
function privMeth(){
return false;
};
};
var Static2 =(function(){
var privInt;
privInt = 5;
function privMeth(){
return false;
}
return{
pubInt: 5,
pubMeth: privMeth
};
})();
也许它们只是同一种语法的语法风格,但是netbeans以不同的方式对待它们?我应该选择哪一个,还是有另一个更好的方法?
答案 0 :(得分:0)
即使我不想允许我班级的多个实例,我也决定选择"新功能()"施工。这主要是因为它在语法上允许我将私有变量与其公共接口分组。它还允许我按照我选择的顺序声明和执行我的代码,比如从私有方法中调用公共方法,而在闭包中我被迫在我的公共方法被声明之前执行我的静态逻辑,这不可能。
Netbeans似乎也喜欢它。闭包似乎使我的私有变量在导航器视图中显示为公共。