当简单名称和完全限定名称发生冲突时如何引用类

当简单名称和完全限定名称发生冲突时如何引用类,第1张

当简单名称和完全限定名称发生冲突时如何引用

java.util.ArrayList
如果您完成了以下两项 *** 作,则不能再直接引用:

  1. ArrayList
    在作用域中使用静态嵌套类隐藏简单名称。
  2. java.util.ArrayList
    使用
    ArrayList
    嵌套在class中
    util
    ,嵌套在嵌套class中的类来隐藏完全限定名称
    java

您甚至无法“拆分”导入,以尝试使用“部分合格”的导入。

import java.*;...// This doesn't work!new util.ArrayList<>();

您可以

import java.*;
,但是那毫无价值。没有
java
直接在包中定义任何类。

但是,您可以

java.util.ArrayList
间接引用该类,因为它不是
final
。在类范围之外
Ideone
,声明一个具有不同名称的子类。

class AnArrayList<T> extends java.util.ArrayList<T> {}

然后,您可以将该类和程序引用到接口:

List<Integer> al = new AnArrayList<>();  // won't print !! or Here


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5501644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存