簡體   English   中英

從靜態內部類靜態導入star是做什么的?

[英]What does a static import of star from a static inner class do?

我正在查看Functional Java中List .map的源代碼,發現它正在使用某個名為Buffer類,但是在任何地方都找不到該類,然后我查看了導入並意識到它是一個內部類。 但是導入行看起來很有趣:

import static fj.data.List.Buffer.*;

它有什么作用? 為什么要從自身導入?

import static fj.data.List.Buffer.*Buffer所有靜態成員導入范圍。 否則,對文件中Buffer靜態成員的所有引用(從Buffer內部進行的引用除外)都必須以Buffer.為前綴Buffer.

代替這個:

final Buffer<B> bs = Buffer.empty();

可以將其寫在文件中的任何位置:

final Buffer<B> bs = empty();

可以避免使用通配符。 他們本來可以編寫import static fj.data.List.Buffer.empty然后從Buffer為彼此使用的其他靜態成員編寫另一個import,但是可以說通配符在這里很好,因為它是從同一文件中導入的。

它正在導入fj.data.List.Buffer內部的所有static元素。 這樣,您只需要調用Something而不是fj.data.list.Buffer.Something

更多信息:

這意味着將導入所有靜態字段和方法。 並且可以在導入類時不帶類名前綴的情況下訪問它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM