Java包名称验证
在Java文档中,我发现包的命名约定如下: 包名用小写字母书写,以避免与 类或接口的名称 但我在Java和Android中看到了很多类,如下所示: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
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