【问题标题】:How does the isAbsolute method run[Java]?isAbsolute 方法如何运行[Java]?
【发布时间】:2021-07-12 13:45:13
【问题描述】:

isAbsolute方法在path接口中没有body,但是我可以在下面的代码中运行。这怎么可能?

Path path= Paths.get("D:\\Example\\1.txt");
    System.out.println(path.isAbsolute());//prints true

【问题讨论】:

标签: java path io


【解决方案1】:

想象下面的代码:

public interface Foo {
  public boolean bar();
}

public class Fooz implements Foo {
  @Override
  public boolean bar() {
    return false;
  }
}

还有:

public Foo getFoo() {
  return new Fooz();
}

public static void main(String[] args) {
  Foo myFoo = getFoo();
  System.out.println(myFoo.bar()) //false
}

如果您正在寻找此功能的实际实现,我建议您查看您选择的 JVM 的源代码。可以在 OpenJDK github repo 上的 UnixPath.java 中找到此类实现的示例。

【讨论】:

  • 我明白你的意思,但问题是如果你按照这个方法,这个方法是行不通的。 Paths.get() 返回 Path.of() 方法。 of() 方法也返回 FileSystems.getDefault ( ) .getPath (首先,更多)。 getDefault() 本身返回一个调用 getPath() 方法的 FileSystem 对象。该方法返回一个Path对象,但目前尚不清楚isAbsolute方法是如何实现的。
  • 你是什么意思方法不起作用?您的问题似乎表明您想知道如何调用isAbsolute,但您实际上是在寻找isAbsolute 的实现源代码吗?
  • 是的,我就是这个意思。我想知道这是如何实现的。[寻找源代码]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 2012-04-16
相关资源
最近更新 更多