这里有一个名为FirefoxPhDriver
public class FirefoxPhDriver extends AbstractWebPhDriver {
public static FirefoxPhDriver newInstance(
PhDriverIngredients ingredients) {
FirefoxPhDriver pd = new FirefoxPhDriver();
if (pd.verify(ingredients)) {
return pd;
}
return null;
}
}
因为我是java的新手,我不知道如何在另一个类中调用这个newInstance
方法
我试过
FirefoxPhDriver drvr = new FirefoxPhDriver(ingrdients)
但我得到的构造函数FirefoxPhDriver不可见
答案 0 :(得分:4)
只是FirefoxPhDriver drvr = FirefoxPhDriver.newIstance(ingrdients)
。
(因为newInstance
是一种静态方法,您无需创建FirefoxPhDriver
实例来访问该方法(因此不需要new FirefoxPhDriver(...)
)。)
答案 1 :(得分:1)
只需致电FirefoxPhDriver drv = FirefoxPhDriver.newInstance(ingrdients)
答案 2 :(得分:1)
您实际上没有在FirefoxPhDriver类中定义构造函数,而是default Constructor。
但你有一个方法定义
public static FirefoxPhDriver newInstance(PhDriverIngredients成分)
此方法创建FirefoxPhDriver类的新实例。
你可以这样使用它:
FirefoxPhDriver drvr = FirefoxPhDriver.newInstance(ingredients);
答案 3 :(得分:0)
db.col1.find({ name: x123 }).forEach(function(doc){
if(hasValidDate(doc.date1)){
db.col2.find({col1_id:doc._id}).forEach(function(doc2){
var copyobj = {doc2.x1, doc2.x2, ...};
db.col2.update({col1_id:doc._id}, copyobj);
});
}
});
function hasValidDate(date){
return (date.era == 4 && date.year >= 26 &&
(date.month >= 10 && date.day >= 1))?true:false;
}
方法是newInstance()
类中的静态方法。我们可以将静态成员和Classname一起调用。
使用此:
FirefoxPhDriver
如果要从其他类调用方法,我们应该将这些方法声明为public或protected或default。我们不能打电话给其他班级的私人会员。