如何在Java中调用静态方法?

时间:2015-05-20 06:45:11

标签: java

这里有一个名为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不可见

4 个答案:

答案 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。我们不能打电话给其他班级的私人会员。