gpt4 book ai didi

java - java/android 新手 : class loaders vs import

转载 作者:行者123 更新时间:2023-12-01 18:28:09 25 4
gpt4 key购买 nike

如果我正确理解类加载器,它是在运行时从 jar 文件加载类。如果这是真的,我想我们可以在没有类加载器的情况下使用 import 语句轻松地做到这一点(在构建路径中包含 jar 文件之后)。这是一个例子:

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

因此我不明白类加载器的目的是什么。有人可以解释一下吗?

最佳答案

import 用于正确编译代码。假设您使用的是 ArrayList,您必须通过指定 import java.util.ArrayList; 告诉编译器您正在使用哪个 ArrayList,或者您可以直接使用

java.util.ArrayList al = new java.util.ArrayList(); 

无需导入任何内容。

类加载器在运行时使用。如果运行时需要一个类,则通过ClassLoaders

将其加载到运行时环境(JVM)中

注意:导入语句表示 - 我正在向编译器使用此类。类加载器用于将类(ArrayList 或任何其他类)动态加载到 JVM 中。

编辑:

假设您有 2 件衬衫(衬衫 = 类别),一件红色带黑色条纹,另一件红色带白色条纹。现在,你告诉你妈妈(编译器),请熨烫红色衬衫,你妈妈问你告诉你哪件红色衬衫 - 带有白色条纹的红色衬衫。请注意,您实际上并没有使用这件衬衫,您只是告诉您将使用哪件红色衬衫。第二天,你需要上大学,所以你告诉你爸爸给我买一件带有白色条纹的红色衬衫(爸爸就像 ClassLoader),然后你穿上这件衬衫。 (类已加载并正在使用)

关于java - java/android 新手 : class loaders vs import,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308070/

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