栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用通配符导入类

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用通配符导入类

Java中的“通配符”导入仅在实现类的最直接级别上起作用。

也就是说,如果你有课

A
B
C
与完全合格的名称:

  • com.foo.bar.A
    ;
  • com.foo.bar.B
    ;
  • com.foo.C
    ;

然后导入

com.foo.bar.*
将允许访问
A
B
无需再费力;但
C
将不可用。

同样,导入

com.foo.*
将很容易
C
获得,而
A
and则没有
B

现在:

我认为,如果像上两个示例中那样包含一个类,则可以有效地导入该类并继承其所有子类。

它不是。即使

B
“继承”
A
,如果您选择使用完全限定的导入
com.foo.bar.A
,它也不会自动导入
com.foo.bar.B
。您必须
B
单独导入。这是有道理的:对于一个接口或抽象类的实现,没有什么可以强迫将其实现与其基本接口/基类放在同一包中。在同一个项目中,您可能
B
在不同的包中有两个名为的类:编译器应该做什么?

现在,根据代码风格惯例,你要么弥补自己还是得服从你的工作环境,这样的通配符进口可能纯粹是被禁止的,而你必须进口

A
B
分开。至于静态导入,它们还有其他问题…

最后,请注意,默认情况下,

java.lang.*
无需声明导入就可以使用全部。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号