抽象路径在java.io中意味着什么?

gst*_*low 8 java io file path

在java doc中

File#getPath()
Run Code Online (Sandbox Code Playgroud)

写道:

 Converts this abstract pathname into a pathname string.
Run Code Online (Sandbox Code Playgroud)

我试着写1

File file3 = new File("D:\\work");
System.out.println(file3.getPath());
Run Code Online (Sandbox Code Playgroud)

在cmd我看到了 D:\\work

我试着写2:

File file4= new File("file4");
System.out.println(file4.getPath());
Run Code Online (Sandbox Code Playgroud)

在cmd我看到:

file4
Run Code Online (Sandbox Code Playgroud)

因此我有一个问题:

有什么区别

抽象路径名

路径名字符串

Erw*_*idt 9

一个抽象路径名是一个java.io.File对象和路径名字符串是一个java.lang.String对象.两者都引用磁盘上的相同文件.

我怎么知道?

Javadoc的第一句话java.io.File解释说:

文件和目录路径名的抽象表示.

它继续解释原因:

用户界面和操作系统使用依赖于系统的 路径名字符串来命名文件和目录.此类提供了一个抽象的,与系统无关的分层路径名视图.