Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java包名称验证_Java_Android - Fatal编程技术网

Java包名称验证

Java包名称验证,java,android,Java,Android,在Java文档中,我发现包的命名约定如下: 包名用小写字母书写,以避免与 类或接口的名称 但我在Java和Android中看到了很多类,如下所示: import java.util.HashMap; import androidx.core.content.ContextCompat; import android.view.inputmethod.InputMethodManager; 这里的标准是什么?这些例子是否偏离了惯例 那是因为 导入java.util.HashMap Hashmap

在Java文档中,我发现包的命名约定如下:

包名用小写字母书写,以避免与 类或接口的名称

但我在Java和Android中看到了很多类,如下所示:

import java.util.HashMap;
import androidx.core.content.ContextCompat;
import android.view.inputmethod.InputMethodManager;
这里的标准是什么?这些例子是否偏离了惯例

那是因为

导入java.util.HashMap

Hashmap引用的是类,而不是包

内容如下:

Hashmap是java.util包中的一个类

下面是实际的包和类:


Import语句由两部分组成,包名和驻留在包中的实际类。例如,您的导入:


实际上是说导入驻留在java.util包中的HashMap类。事实上,包名只包含小写字母。但是,这个类是大写的,这也是惯例。

您是对的,java中的包名是用小写写的。然而 所给出的示例具有重要意义,而非包装。 HashMap类中的包类似于这个包java.util

java.util.HashMap是完全限定的类名。完全限定的类名在导入中使用带包的类名。

您很困惑

import some.package.with.WhatEverClass

换句话说:大写是因为import语句的最后一部分引用的是类,而不是包

这类似于在python中可以执行的操作:

import re
将导入整个模块,而第一个java示例更像

from foo import bar

这句话有什么问题?你已经写过了,包名都是用小写字母写的,避免与类或接口的名称冲突,我在import java.util.HashMap中看到了很多类;java.util。是一个包名,HashMap是一个类名,正如文档所说
import re
from foo import bar