gq
}
输出:
FileApi.java:11:错误:预期 class public FileApi(String s)抛出异常 FileApi.java:11:错误:方法声明无效;需要返回类型 class public FileApi(String s)抛出异常 FileApi.java:68:错误:解析时到达文件末尾}
答案 0 :(得分:2)
构造函数的语法错误。它应该是这样的:
public FileApi (String s) throws Exception {
super(s);
pw = new PrintWriter(fw = new FileWriter(s, true));
}
(那时的class
关键字是不正确的,并且它使解析器混乱太多,以至于它无法对你做错了什么做出正确的解释。)
虽然我们处于错误的主题,但将方法或构造函数声明为抛出Exception
是一个重大错误。如果某些事情被宣布为"抛出你想象的任何异常,那就很难做出理智的异常处理"。
而且:
pw = new PrintWriter(fw = new FileWriter(s, true));
IMO,只是贪得无厌。如果你把它写成两个语句,那就更具可读性了:
fw = new FileWriter(s, true);
pw = new PrintWriter(fw);
最后,您已将PrintWriter
声明为:
PrintWriter pr;
什么时候应该是:
PrintWriter pw;
答案 1 :(得分:0)
构造函数不应包含class
关键字。
更改
class public FileApi (String s) throws Exception
{
super(s);
pw = new PrintWriter(fw = new FileWriter(s, true));
}
到
public FileApi (String s) throws Exception
{
super(s);
pr = new PrintWriter(fw = new FileWriter(s, true));
}