以下示例代码来自网站。
sInstance
是私有成员,这意味着它只能在LittleMonkProviderHolder
类中访问。
函数getInstance()
为什么返回LittleMonkProviderHolder.sInstance
?谢谢!
代码
public class FloatActionController {
private FloatActionController() {
}
public static FloatActionController getInstance() {
return LittleMonkProviderHolder.sInstance; //Return a private member!!!
}
private static class LittleMonkProviderHolder {
private static final FloatActionController sInstance = new FloatActionController();
}
}
答案 0 :(得分:2)
在我看来,这就像是Bill Pugh单身汉。从.forEach(guild)
类的私有内部类中返回一个私有成员没有任何问题。 FloatActionController
说明符仅表示尝试通过以下方式直接访问:
private
将会失败,因为内部类及其成员都是私有的。