import语句与其类路径之间的关系是什么?

时间:2016-06-18 12:28:11

标签: java android android-studio android-gradle

我很难理解gradle文件中的import语句与实际Java代码中的最终import语句之间的关系。例如,如果我有......

import com.google.android.maps.GeoPoint;

那么类路径是什么?

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'xxxxxx'
    }
}

在.net中,导入staments与配置中的引用匹配。所以,如果我有

Zoo.animals.monkeys

然后我的导入就是......

Zoo.animals.monkeys.chimps

1 个答案:

答案 0 :(得分:2)

导入 nothing 与CLASSPATH有关。它可以节省您的击键次数,允许您在键入源代码时使用短类名而不是完整名(例如ResultSet而不是java.sql.ResultSet)。

CLASSPATH在编译时很重要,允许编译器解析静态类型,并在运行时在类加载器首次引用时将字节代码放入JVM中。

您无法根据包推断出有关CLASSPATH的任何信息。如果那个班级在JAR中怎么办? CLASSPATH将引用JAR,而不是包。

我编写的大多数应用程序都使用我使用Maven加载的第三方JAR。我维护pom.xml,而不是CLASSPATH。