黑马程序员技术交流社区
标题:
关于File文件对象的疑惑。谢谢指导!
[打印本页]
作者:
刘宁
时间:
2012-3-25 11:38
标题:
关于File文件对象的疑惑。谢谢指导!
class FileDemo2
{
public static void main(String[] args)
{
listDemo();
}
public static void listDemo()
{
File f = new File("c:\\");
String[] names = f.list();
for(String s : names)
{
System.out.println(s);
}
}
public static void listRootsDemo()
{
File[] files = File.listRoots();
for(File file: files)
{
System.out.println(file);
}
}
}
问题1 :为什么listRoot不用new一个File对象?而list()却需要new一个对象出来?
问题2 :listRoot的返回值类型怎么是File对象的 数组? 不是也应该是String类型的数组吗?
作者:
应佳锋
时间:
2012-3-25 12:43
问题1回答:因为listRoot是File的一个静态方法 而list()却是File的一个实例方法
问题2回答:这个是设计的人的思路 等你理解了OOP思想就会明白为什么listRoot的返回值类型怎么是File对象的
作者:
刘元明
时间:
2012-3-25 12:46
1.listRoots()是File的静态方法,可以不用创建对象通过类名调用,表示列出可用的文件系统根;
而list方法是File中非静态的方法,需要创建File对象去调用。
2.File是文件和目录路径名的抽象表示形式,那么根据1,数组中的元素不就是系统的根目录所属类型不就是File吗,所以返回的是File类型的数组
作者:
贠(yun)靖
时间:
2012-3-25 17:17
File 创建对象是把文件路径封装成一个对象 而list()是FIle类中的一个方法 列出次目录对象的所有文件
而listRoots()是 File类中的一个静态方法 调用它是不需要创建对象的 可以直接用类名调用
listRoots()的功能是返回所在路径的所有文件夹 而每一个文件夹可以看成一个File 类的对象
所以返回类型是File的数组 可以把文件夹对象存入到File【】数组中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2