关于Java中jdk文档的使用问题

本人初学java,最近在学习使用jdk文档,但是对于其中的一些术语不是很懂,求教各位
File[] file = dir.listFiles();
这条语句我不懂,所以我查了File类的listFiles的方法,但是里面是这样介绍的:“ 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件”
看了具体的返回值,是File[]类型的,由于我是初学,所以我认为:
int [] a = new int[n]这个应该是定义一个数组的方法,要有一个new关键字申请空间去存放,但是这里为什么没有出现new关键字,却能定义成一个数组呢
在下先谢谢各位了

 因为new写在函数里了,看如下代码:
class A { }

A getA()
{
    return new A();
}

调用
A a = new A();
也可以写
A a = getA(); //此时new被封装在getA里。

File类是抽象类,不能new 。抽象类一般是用来实现的。一般通过他的子类去实现。

    你调用的list. files方法返回值就是一个文件数组,这个new的过程由那个方法完成的,你只需要定义接收变量就好了。你理解的内存所有对象如果要使用就需要new操作,可以是定义时直接new,也可以在其他地方new的,你这个问题属于后者。

你调用的方法已经帮你获取到对象了,你需要做的,是申请一个引用指向它,然后就可以操作它,不然你获取到的对象,没有句柄,你怎么操作?

谢谢各位的解答,我明白了,再次谢过各位,