在main()中找不到我的构造函数

时间:2018-02-26 10:32:30

标签: java

我为我找到了一个莫名其妙的错误:

PageRankReader.java:19: error: cannot find symbol
        PageRankReader(args[0]);
        ^
  symbol:   method PageRankReader(String)
  location: class PageRankReader
1 error

我无法理解,因为我已经清楚地定义了班级顶层的方法签名。

public class PageRankReader {

    public PageRankReader(String filename) {
        try {
            readPageRanks(filename);
        }catch (FileNotFoundException e) {
            System.err.println("File not found");
        }
    }
    public static void main(String[] args) {
        if( args.length != 0) {
            System.err.println("Please provide name of the pageranks file");
        }

        PageRankReader(args[0]);
    }
}

出现此错误的原因是什么?

2 个答案:

答案 0 :(得分:1)

因为你需要调用需要你使用的构造函数 “新”关键字。

代码中的更正是:

public function __construct()
    {
        $this->middleware('auth');
    }

答案 1 :(得分:1)

您想要创建PageRankReader的实例 ,所以使用类

的构造函数

这必须使用new

来完成
PageRankReader foo = new PageRankReader(args[0]);
// or if you don’t need the instance later
new PageRankReader(args[0]);