gpt4 book ai didi

java - 为什么有些类在 Android 支持库中不公开?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:11 25 4
gpt4 key购买 nike

为什么 Android 库中包含的一些类不是公开的?对我来说,这没有任何实际意义,基本上只是引入了一个障碍,无法为最近发布的一些漏洞百出的小部件开发临时修复程序。

具体来说,我说的是 Android Design Support Library 中的 TextInputLayout .例如,如果我想制作一个覆盖构造函数中某些代码的自定义小部件,我不能这样做,因为 CollapsingTextHelper 不是公共(public)类。我将不得不下载源代码并将相关类复制到我的项目中,但实际上并没有什么可以阻止我这样做。那么一开始不公开它有什么意义呢?

据我了解,随着库的不断更新和改进,您只需添加 @Deprecated 注释即可指示特定类已过时或已过时,并且仍然存在以防止遗留代码从打破。
我知道库简单地公开所有类是没有意义的,但我不明白为什么不应该公开对实现小部件必不可少的类。当其中一个类被更好的版本替换时,或者当小部件以完全不同的方式实现时,为什么他们不能添加 @Deprecated 注释?

最佳答案

简而言之 - 通过将这些类设为非公开,他们保留随时更改/删除此类的权利,而不会破坏任何客户(您的)代码。

看看已经有多少 @Deprecated 方法/类,您就会明白为什么这很重要。

关于java - 为什么有些类在 Android 支持库中不公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083194/

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