请高手看下面的代码
test(file1); 这里括号中传入上面创建的对象是表示什么意思?
test(file2);方法中调用方法我知道是递归可是这里面也传入一个创建的对象是什么意思?非常感谢
package package2;
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file1=new File("F:\\软件程序");
test(file1);
}
public static void test(File file){
File []file1=file.listFiles();
for(File file2:file1){
if(file2.isDirectory()){
test(file2);
}else{
System.out.println(file2.getAbsolutePath());
}}
}}
test(file1); 这里括号中传入上面创建的对象是表示什么意思?
test(file2);方法中调用方法我知道是递归可是这里面也传入一个创建的对象是什么意思?非常感谢
package package2;
import java.io.File;
public class TestFile {
public static void main(String[] args) {
File file1=new File("F:\\软件程序");
test(file1);
}
public static void test(File file){
File []file1=file.listFiles();
for(File file2:file1){
if(file2.isDirectory()){
test(file2);
}else{
System.out.println(file2.getAbsolutePath());
}}
}}
解决方案 »
- 问题有惑……求解。
- 弱弱问一句,怎么解决java在windows没有java环境运行的问题
- java的一个例程,调不明白了
- spring 中的 SimpleFormController问题
- 怎样用udp传送对象
- 能不能用JAVA代码实现登陆框自动填写并登陆?
- 请教: 多线程的问题?
- 棋类的程序???
- WebSphere Studio和WebSphere Studio Application Developer有什么区别,那位说说?
- 造型问题,是父类的对象赋值给子类的对象。造型以后编译通过,为什么执行时会报造型错误?例如...
- 在java中调用一个C++控制台程序
- 2个都含有"*"(代表任意1位或多位)字符串匹配的问题~~
package com.meritit.test;import java.io.File;public class Test {
public static void main(String[] args) {
/*
* 注意:这里是创建一个目录,而不是一个文件
*/
File file1 = new File("D:\\a");
test(file1);
} public static void test(File file) {
//列出该目录下所有文件(文件和目录)
File[] file1 = file.listFiles();
//遍历
for (File file2 : file1) {
//如果是目录
if (file2.isDirectory()) {
//迭代:继续找其中的目录和文件
test(file2);
//如果是文件,直接打印绝对路径
} else {
System.out.println(file2.getAbsolutePath());
}
}
}
}目录结构输出结果
D:\a\aaa\test1.txt
D:\a\aaa\test2.txt
D:\a\test3.txt
为什么要用静态方法?什么时候要用静态方法?
我先说一下我的理解吧
1、使用静态方法可以不用创建对象的实例,静态的方法是该类的方法,在静态方法区,可以直接获得该方法而无需创建实例。
2、有时候当我们的类是个工具类,或者其他没有属性的类时。这是我们可以将该类中的方法设为静态,因为我们不需要每用一次就创建该类的实例。
关于static的详细请看:http://blog.csdn.net/dawanganban/article/details/9942605