Java 使用Paths.get(String)方法创建路径时,您正在创建什么类型的对象?
显然,由于Path是一个接口,因此不能使用new关键字实例化它,因此我们使用Path.get从字符串创建路径。但是这是什么类型的对象,它不可能是路径对象,因为路径是一个接口,但是当我调用.getClass.getCanonicalName方法时,我得到了一些神秘的sun.nio.fs.WindowsPath响应,它不回答任何问题,因为我也不能实例化它 编辑:在使用runnable接口之后,我发现使用一种方法来创建接口的实现非常容易,因此我想稍微澄清一下我的问题。当您创建扩展接口的对象实例时,您正在创建该对象的实例,例如,来自类Bar的对象是Bar对象,即使它扩展了接口Foo。但是假设我为接口Foo编写了一个实现,而没有编写扩展它的类;我的问题是这是什么样的物体Java 使用Paths.get(String)方法创建路径时,您正在创建什么类型的对象?,java,oop,object,interface,Java,Oop,Object,Interface,显然,由于Path是一个接口,因此不能使用new关键字实例化它,因此我们使用Path.get从字符串创建路径。但是这是什么类型的对象,它不可能是路径对象,因为路径是一个接口,但是当我调用.getClass.getCanonicalName方法时,我得到了一些神秘的sun.nio.fs.WindowsPath响应,它不回答任何问题,因为我也不能实例化它 编辑:在使用runnable接口之后,我发现使用一种方法来创建接口的实现非常容易,因此我想稍微澄清一下我的问题。当您创建扩展接口的对象实例时,您正
public Interface Foo { public void doStuff();}
然后大体上:
Foo foo1 = new Foo(){
public void doStuff(){
// code goes here
}
};
foo1是什么类型的对象?路径是通过调用默认文件系统的getPath方法获得的
另请参见由于Java可以在许多不同的东西上运行,因此该实现似乎基于您使用的运行时和操作系统。你能告诉我们为什么你需要实例化任何东西,也许我们可以帮助解决问题的根源吗?你不需要实例化它。这就是path.get的作用。嗨,我的问题更多的是理解一个概念,因为我知道匿名内部类是什么。我想了解这个匿名内部类创建了什么类型的对象?它是一种接口类型吗?它是一个你模糊地描述为“某种神秘的sun.nio.fs.WindowsPath响应”的实例。改进问题,我就改进答案。如果你只需要理解,那就是答案。如果您认为需要自己实例化它,那么您就错了。