您好我在名为Utility的目录下创建了两个Java文件,如下所示:
public class FileName { private String name; public FileName (String name) { //some code } String getName() { return name; } }
public class FileNameReader { public static void main(String[] args) throws IOException { FileName obj = new FileName("testfile.txt"); } }
现在,当我正在编辑throw命令提示符时,编译器给出了错误,指出无法在FileName obj = new FileName();这一行
答案 0 :(得分:0)
下面:
public SearchFile(String name) {
这将是一个名为SearchFile的类的构造函数。
但是你的类被命名为FileName;所以你必须将所有内容(类和文件名)重命名为SearchFile;或者你改变ctor来代替public FileName(String name)
。
除此之外:该类仅有一个构造函数采用字符串参数。但是你的另一个课程是new FileName()
而没有提供论证。这也行不通。
但真正的答案是:这种“微妙”细节很重要。您必须支付关闭关注您记下的每一行代码。并且:在“完成”您认为应该编译的内容后立即运行编译器。你没有用10,20,50行代码创建2,3个文件,然后发现每个文件中都有一堆问题!
答案 1 :(得分:0)
您的FileNameReader
课程中存在问题:
您需要通过添加
导入IOException
import java.io.IOException;
您已为FileName
创建了一个带有String
参数的显式构造函数,因此隐式默认构造函数不再可见。您需要在创建新实例时提供String
:
FileName obj = new FileName("someString");
此FileNameReader.java编译:
import java.io.IOException;
public class FileNameReader {
public static void main(String[] args) throws IOException {
FileName obj = new FileName("someString");
}
}