java - 在类 org.demo.mypackage1.C 中可以通过它们的短名称访问什么而不编写任何导入?
问题描述
您有以下课程:
org.demo.A
org.demo.B
org.demo.mypackage1.C
org.demo.mypackage2.D
通过短名称选择类 org.demo.mypackage1.C 中可访问的所有类,而无需编写任何导入。
从列表中选择一个或多个选项
org.demo.mypackage1.C
java.lang.String
org.demo.B
org.demo.mypackage2.D
java.util.Scanner
org.demo.A
解决方案
我想你可能误解了你在测验中被问到的问题
您的第一个答案(来自您上面的评论)是
org.demo.A
org.demo.B
org.demo.mypackage2.D
可以调用的前三个响应,因为在那里指定了完整的批处理地址
事实上,他们做不到。测验问题是:
选择在类 org.demo.mypackage1.C 中可以通过它们的短名称访问的所有类[and]而无需编写任何 imports。
(强调补充。)
但是你说“因为那里指定了完整的批处理地址”。实际上,它没有“在那里指定”,因为您不允许这样import
做。
由于A
,B
或D
都没有在C
的包中声明(即在 中org.demo.mypackage1
),所以它们不能用它们的简称来引用C
。
org.demo.mypackage1.C
我们已经在这个包中,可以直接访问C
那是对的。
java.util.Scanner
- 如果我们使用扫描仪,我们需要它
答案是,Scanner
如果C
没有import
.
java.lang.String
没有必要
答案是String
可以C
通过其短名称来引用,而无需import
. 中的类和接口java.lang
是隐式导入的1。
1 - 如果您声明一个与 in 同名的顶级或内部类或接口,则更复杂java.lang
;例如String
。然后你的String
类声明将隐藏String
在java.lang
... 中的声明,这可能会非常令人困惑。
推荐阅读
- async-await - 异步等待不会在 Grunt 中编译
- reactjs - 将多个 React 状态组合成一个变量
- r - 同时从同一个 uiOutput() 生成两个闪亮的小部件
- html - 使用 Tornado 模板递归显示文件树结构
- linux - mpicxx:找不到命令
- database - 告诉我并发事务问题及其解决方案?
- python - 根据其他列中的值访问和更改 pandas 数据框中的单元格
- python - 在 Eclipse 中修改 .py 文件并重新创建 .exe 文件
- postgresql - 通过其 pq.StringArray 属性查询 GORM 数据库
- python - seaborn 分布图中的随机空格/条