gpt4 book ai didi

android - 为什么我们应该将 urimatcher 定义保留在内容提供程序的静态花括号中?

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:08 26 4
gpt4 key购买 nike

我对内容提供者有疑问。
每次我编写内容提供程序时,我都会将 URI MATCHER 定义放在静态括号中,但 URI MATCHER 被声明为该类的私有(private)数据成员。只有 definition(new UriMatcher) 被放在静态括号中。

谁能告诉我原因。我尝试使用谷歌搜索但无法找到答案。我也会尝试,如果有人知道,请告诉我。

感谢和问候,
S苏曼185

最佳答案

这是一个static initialization block .当您定义一个成员或类变量时,该值必须放在一行中(即使您将它隔开更多),并且它不能包含复杂的逻辑。

对于成员变量,您可以在构造函数中进行这种复杂的初始化。

本质上,静态初始化 block 是类变量的构造函数,允许您在初始化时使用更复杂的表达式。它只执行一次,当第一次加载类时,无论创建了多少个实例。

私有(private)成员只是意味着变量不能被其他类访问,它仍然可以被类本身访问。因此静态初始化 block 只创建一次 URIMatcher(当加载类时),无论有多少个实例。

关于android - 为什么我们应该将 urimatcher 定义保留在内容提供程序的静态花括号中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com