我是一名 Java 程序员,我正在尝试创建类似于 JS 中的公共(public)静态类的东西。
这就是我在 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 对待它们的方式不同?我应该选择哪一个,或者还有另一种更好的方法吗?
最佳答案
尽管我不想允许我的类有多个实例,但我还是决定采用“new function()”构造。这主要是因为它在语法上允许我将私有(private)变量与其公共(public)接口(interface)分组。它还允许我按照我选择的顺序声明和执行我的代码,就像从私有(private)方法调用公共(public)方法一样,而在闭包中,我被迫在声明公共(public)方法之前执行静态逻辑,这使得这是不可能的。
Netbeans 似乎也更喜欢它。闭包似乎使我的私有(private)变量在导航器 View 中显示为公共(public)变量。
关于javascript - JavaScript 中的公共(public)静态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42578266/