虽然是低级的错误但一定要分析出正确的原因,这个地方出错的直接原因是自己书写的File类和java.io.File下的同名了,因为你的这个类文件中import了 java.io.*,在这种情况下如果还想继续使用自己的类名,则在引用系统的类的时候就要加上类的全名了,即带上包路径加于区分。在实际的编程中会遇到这样的情况,只需要用类的全名引用即可。
修正后的代码如下:
class File {
public static void main(String[] args) {
java.io.File dir = new java.io.File("d:\\java0217");
showDir(dir);
}
public static void showDir(java.io.File dir) {
java.io.File[] files = dir.listFiles();
for (int x = 0; x < files.length; x++) {
System.out.println(files[x]);
}
}
} |