作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有些东西让我有点难过,但仍然很感兴趣。在我的 Android 游戏中,我有各种扩展父类(super class)级别的级别。我想要做的是构建一个 levelDirectory(基于 Singleton DP),它本质上是一个对象,其中包含一个 HashMap 对象,该对象存储所有 Level 子类。这是我的问题:
我们都熟悉增强的 for 循环,但我怎样才能写出等同于
for(Level l : An Array Of Every Level Subclass In My Project that is an Extension of the Level Superclass){
HashMap.put(l.name, l);
}
我正在尝试构建一个系统,当我添加越来越多的级别子类时,它可以动态更新自己。我知道在 Level 中有一个方法可以将自己提交给静态目录并在 Level 的构造函数中被调用是一个选项,但我只是想知道是否有一种方法可以在增强的 for 循环中执行我上面所说的?
非常感谢
最佳答案
问题本身是错误的。您不能遍历列表(“我的项目中的每个级别子类”)并获取级别的实例。 l 应该是类。
从上下文来看,我认为您的意思是“每个级别子类的每个实例”。不,这是不可能的——虚拟机不是也不应该是数据库。您不能只查询对象,您必须管理代码中的引用(但您已经知道这一点 - 您的构造函数解决方案会起作用)。
关于java - 一种说法 "For All Subclasses In My Project That Extend This Superclass"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4570107/
我是一名优秀的程序员,十分优秀!