【发布时间】:2013-12-21 19:38:59
【问题描述】:
我正在使用带有 maven 的 AndroidStudio。我不明白的是重复类如何不会混淆类加载器或构建过程。
我创建了自己的android.util.Log 类(例如,我在我的应用程序中创建了一个android.util 包,在其中我创建了自己的Log 类),而不是使用标准的android Log.d,我使用我自己的。这如何以及为什么会起作用?
我在某处读到有 3 个类加载器 - 您的应用程序类加载器、第 3 方库类加载器和系统类加载器。那么它们是否具有某种优先级,如果您的应用程序类加载器找到 .class 文件,那么它会被“链接”吗?和任何其他重复的 .class 文件无关紧要?
而且...为什么这种行为不会导致任何类型的构建错误/警告?
一个例子是......说我想使用反射来调用我和android都将提供的某个私有类。我想保证无论它是调用我的还是安卓的,都没有导致崩溃的冲突。但我想确切地知道它为什么/如何以我看到的方式工作。
【问题讨论】:
标签: java android maven classloader