在Java文档中我发现包的命名约定应该是这样的:包名全部小写,以避免与类或接口的名称冲突。但我在 Java 和 Android 中看到过很多类,如下所示:import java.util.HashMap;import androidx.core.content.ContextCompat;import android.view.inputmethod.InputMethodManager;这里的标准是什么?这些例子是否偏离了惯例?
4 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
那是因为
import java.util.HashMap;
Hashmap
指的是类,而不是包。
其内容如下:
Hashmap
是在包中找到的类java.util
这是有问题的实际包和类:
FFIVE
TA贡献1797条经验 获得超6个赞
导入语句由两部分组成,包名称和驻留在包中的实际类。例如,您的import
:
import java.util.HashMap;
实际上是说导入HashMap
驻留在java.util
包中的类。事实上,包名确实只由小写字母组成。但是,该类采用大驼峰式,这也是惯例。
吃鸡游戏
TA贡献1829条经验 获得超7个赞
你很困惑
import some.package.with.WhatEverClass
和
import some.package.with.*
换句话说:使用大写字母是因为 import 语句的最后一部分引用的是类,而不是包。
这与您在 python 中可以执行的操作类似:
import re
将导入整个模块,而第一个 java 示例更像是
from foo import bar
ibeautiful
TA贡献1993条经验 获得超5个赞
你是对的,java中的包名都是小写的。然而,所讨论的例子是重要的而不是包。类中的包HashMap
就像这个包java.util;
并且java.util.HashMap
是完全限定的类名。导入时使用完全限定的类名(带包的类名)。
添加回答
举报
0/150
提交
取消