在import语句在Java中使用*的[复制](Use of * in Import Stateme

2019-08-17 00:04发布

这个问题已经在这里有一个答案:

  • 为什么使用通配符与Java导入语句不好? 14个回答

有人可以解释我在Java中的import语句。 一些进口已经*后缀,以它和一些没有。 什么是这两者之间的区别? 是否在import语句进口的所有类使用*的?

看到这里进口

在这里,他们都表示,虽然import语句似乎嵌套它们并非如此。 详细有人能解释一下吗?

Answer 1:

使用*被认为是不好的做法。 它是用来导入包中的所有文件。 这样做的更正确的方法是关闭列出每一个你需要的类的,特别是在这样一个场景,你正在做代码审查的IDE之外,需要知道你使用的是哪个版本的类。 本质上,它滋生懒惰的开发团队。

评论

对于那些争论,这不是一个“坏”的做法,因为我已经指出。 你怎么可能说这是一个很好的做法?

import java.util.*;  
import java.io.*;

即使编译器忽略下的所有*除了List您已经导入,这如何可能帮助找人在未来的代码? 我觉得这里的人一个很好的协议忘记你是人类,而不是电脑编写代码。 此外,当Java的消失你怎么可能把这段代码转换并且使用的是SuperAwesomeLanguage? 鉴于当你的java的零知识下面的示例中,请将此转换为新的语言:

public class Foo  
{
    private List list;
}

List中的io ? 在io甚至要求? 问题是你不知道。 因此,通过显式说明你可以指导未来开发商以需要什么类。



Answer 2:

是否使用*的import语句进口的所有类

是。

从甲骨文的文档:

A型导入点播声明允许所有可访问的类型命名包或类型的如需要进口。



Answer 3:

从你的链接:

进口的java.util。*;

*为一个“正则表达式运算符”,将字符的任意组合搭配。 因此,这个import语句将导入java.util中的一切。 如果您曾经试图进入和运行上面的例子程序,可以改变import语句这一个。

所以,是*后缀进口的所有类此路径



Answer 4:

import com.example.*

进口量com。示例包中的所有类

import com.example.ClassName

进口只是类名类



文章来源: Use of * in Import Statement in Java [duplicate]
标签: java import