首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.Scanner和java.util.scanner的区别。*

java.util.Scanner和java.util.scanner的区别。*
EN

Stack Overflow用户
提问于 2013-08-06 00:38:53
回答 2查看 10.2K关注 0票数 18
代码语言:javascript
复制
// imports all classes of util package    
import java.util.*;

// imports Scanner class of util package
import java.util.Scanner;

// what does this do?
import java.util.Scanner.*;

Scanner是这里的一个包吗?

编辑: Ok,所以import java.util.Scanner.*导入公共嵌套类。但是,如果还有一个名为Scanner的包呢?那么import java.util.Scanner.*语句会做什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-06 00:40:51

代码语言:javascript
复制
import java.util.Scanner;

这将导入Scanner (正如您已经知道的)。

代码语言:javascript
复制
import java.util.Scanner.*;

这将导入在Scanner中定义的任何公共nested classes

这个特定的import语句是无用的,因为Scanner没有定义任何嵌套类(并且import本身不会导入Scanner )。但是,这可以与import java.util.Map.*之类的东西一起使用,在这种情况下,Entry (嵌套在Map中的接口,在处理地图时通常使用)将被导入。我相信还有更好的例子,这只是我脑海中浮现的一个。

所有这些都在JLS §7.5中指定(具体地说,请参阅§7.5.1: Single-Type-Import Declarations)。

作为对OP编辑的响应:

Ok,所以导入java.util.Scanner.*会导入公共嵌套类。但是,如果还有一个名为Scanner的包呢?那么import java.util.Scanner.*语句会做什么呢?

在这种情况下,由于包java.util.Scanner将与类型java.util.Scanner冲突,因此会出现编译错误。

票数 18
EN

Stack Overflow用户

发布于 2013-08-06 00:41:06

类名后面的星号导入公共嵌套类。

Java Tutorials

注意:另一种不太常见的导入形式允许您导入封闭类的公共嵌套类。例如,如果graphics.Rectangle类包含有用的嵌套类(如Rectangle.DoubleWide和Rectangle.Square ),则可以使用以下两条语句导入Rectangle及其嵌套类。

代码语言:javascript
复制
import graphics.Rectangle; 
import graphics.Rectangle.*; 

请注意,第二个import语句不会导入矩形。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18063287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档