Java 从静态内部类静态导入star做什么?
我查看了Functional Java中.map的源代码,发现它使用了一个名为Java 从静态内部类静态导入star做什么?,java,syntax,import,scope,Java,Syntax,Import,Scope,我查看了Functional Java中.map的源代码,发现它使用了一个名为Buffer的类,但在任何地方都找不到该类,然后我查看了导入,发现它是一个内部类。但进口线看起来很有趣: import static fj.data.List.Buffer.*; 它有什么作用?为什么要从自身导入?这意味着所有静态字段和方法都将被导入。并且在导入类时可以不使用类名前缀来访问它们。这意味着将导入所有静态字段和方法。并且在导入类时可以不使用类名前缀来访问它们。它正在导入fj.data.List.Buffe
Buffer
的类,但在任何地方都找不到该类,然后我查看了导入,发现它是一个内部类。但进口线看起来很有趣:
import static fj.data.List.Buffer.*;
它有什么作用?为什么要从自身导入?这意味着所有静态字段和方法都将被导入。并且在导入类时可以不使用类名前缀来访问它们。这意味着将导入所有静态字段和方法。并且在导入类时可以不使用类名前缀来访问它们。它正在导入
fj.data.List.Buffer中的所有静态
元素。通过这样做,您只需要调用Something
,而不是fj.data.list.Buffer.Something
更多信息:
它正在导入fj.data.List.Buffer中的所有静态
元素。通过这样做,您只需要调用Something
,而不是fj.data.list.Buffer.Something
更多信息:
导入静态fj.data.List.Buffer.
将缓冲区的所有静态成员导入范围。否则,文件中对Buffer
静态成员的所有引用(从Buffer
内部进行的引用除外)都需要以Buffer作为前缀。
与此相反:
final Buffer bs=Buffer.empty()代码>
可以在文件中的任何位置写入:
final Buffer bs=empty()代码>
可以避免使用通配符。他们可以改为编写import static fj.data.List.Buffer.empty
,并从Buffer
为他们使用的每个其他静态成员进行另一次导入,但是可以说,通配符在这里是可以使用的,因为它是从同一个文件导入的。导入静态fj.data.List.Buffer.
将Buffer的所有静态成员导入范围。否则,文件中对Buffer
静态成员的所有引用(从Buffer
内部进行的引用除外)都需要以Buffer作为前缀。
与此相反:
final Buffer bs=Buffer.empty()代码>
可以在文件中的任何位置写入:
final Buffer bs=empty()代码>
可以避免使用通配符。他们可以改为编写import static fj.data.List.Buffer.empty
,并从Buffer
为他们使用的每个其他静态成员进行另一次导入,但是可以说,通配符在这里没有问题,因为它是从同一个文件导入的。它导入了fj.data.List.Buffer中的所有static
元素。通过这样做,您只需要调用Something
而不是fj.data.list.Buffer.Something
。它将导入fj.data.list.Buffer
中的所有静态
元素。通过这样做,您只需要调用Something
,而不是fj.data.list.Buffer.Something
。