使用在接口中声明的方法,但不使用类

大卫·拉洛(David Lalo)

所以我有一个对象,包含一个非特定的JPanel: private static JPanel setPanel;

我在JFrame上换出的各种屏幕都有许多JPanel子类,它们的行为各不相同。现在,这些子类中的每个子类都实现一个特定的方法getKeyPress(),并且我制作了一个包含此方法的接口,这些JPanel子类中的每个子类也都实现了该接口。我的问题是,是否可以通过通用setPanel对象引用该方法,例如:setPanel.getKeyPress()以某种方便的方式,还是必须创建一个包含该方法的JPanel子类,然后让每个子类都成为该子类的子类?一?

TJ人群

...还是我必须使用其中的一个方法创建JPanel的子类,然后让每个子类都成为该子类的子类?

这就是您自己的MyJPanel(或类似的)类(无论是抽象类还是非抽象类)要走的路然后,MyJPanel在整个代码中使用这使您可以在编译时检查是否正在处理子类之一,并在需要时可以方便地添加其他方法。

可以

((TheInterface)setPanel).getKeyPress();

...但是它很笨拙,并且您会丢失编译时代码检查(并且所有反对强制转换的常用参数都适用)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用在接口中声明和实现的扩展方法

来自分类Dev

在Zope接口中声明类方法

来自分类Dev

在接口中使用基类

来自分类Dev

接口中声明的方法的约束

来自分类Dev

接口中声明的方法的约束

来自分类Dev

在类的方法之一中的switch语句中使用在类中声明的int

来自分类Dev

使用在ES6 React Component类之外声明的方法

来自分类Dev

如何在d.ts文件中声明的接口中使用TypeScript环境声明接口

来自分类Dev

XmlSerializer不使用在类上定义的XmlRoot

来自分类Dev

在类中创建类的对象,但不使用名称

来自分类Dev

在非通用接口中声明通用方法

来自分类Dev

使用F#在类/接口中动态定义几个成员

来自分类Dev

cobertura maven插件不能与接口中的java8默认方法声明一起使用吗?

来自分类Dev

在不使用虚拟方法的情况下静态执行 C++ 类接口

来自分类Dev

使用RubyInline声明类方法

来自分类Dev

如何通过JVMTI接口使用jmethod id获取在其中声明方法的类

来自分类Dev

在接口中声明继承接口的所有方法?

来自分类Dev

使用在类外部定义的类方法时出错

来自分类Dev

在 Objective-C 类接口中声明静态属性

来自分类Dev

随着Java8接口中默认方法的出现,现在可以在Java中使用类适配器

来自分类Dev

在通用接口中使用接口

来自分类Dev

两个接口中不推荐使用的方法

来自分类Dev

为什么在接口中只允许使用公共方法?

来自分类Dev

在接口中使用泛型,重复该方法

来自分类Dev

哪种算法在Stream接口中使用排序方法

来自分类Dev

两个接口中不推荐使用的方法

来自分类Dev

关于接口中合同之外使用的方法的说明

来自分类Dev

在接口中使用泛型,重复该方法

来自分类Dev

在不使用类名称空间的情况下声明对象

Related 相关文章

  1. 1

    使用在接口中声明和实现的扩展方法

  2. 2

    在Zope接口中声明类方法

  3. 3

    在接口中使用基类

  4. 4

    接口中声明的方法的约束

  5. 5

    接口中声明的方法的约束

  6. 6

    在类的方法之一中的switch语句中使用在类中声明的int

  7. 7

    使用在ES6 React Component类之外声明的方法

  8. 8

    如何在d.ts文件中声明的接口中使用TypeScript环境声明接口

  9. 9

    XmlSerializer不使用在类上定义的XmlRoot

  10. 10

    在类中创建类的对象,但不使用名称

  11. 11

    在非通用接口中声明通用方法

  12. 12

    使用F#在类/接口中动态定义几个成员

  13. 13

    cobertura maven插件不能与接口中的java8默认方法声明一起使用吗?

  14. 14

    在不使用虚拟方法的情况下静态执行 C++ 类接口

  15. 15

    使用RubyInline声明类方法

  16. 16

    如何通过JVMTI接口使用jmethod id获取在其中声明方法的类

  17. 17

    在接口中声明继承接口的所有方法?

  18. 18

    使用在类外部定义的类方法时出错

  19. 19

    在 Objective-C 类接口中声明静态属性

  20. 20

    随着Java8接口中默认方法的出现,现在可以在Java中使用类适配器

  21. 21

    在通用接口中使用接口

  22. 22

    两个接口中不推荐使用的方法

  23. 23

    为什么在接口中只允许使用公共方法?

  24. 24

    在接口中使用泛型,重复该方法

  25. 25

    哪种算法在Stream接口中使用排序方法

  26. 26

    两个接口中不推荐使用的方法

  27. 27

    关于接口中合同之外使用的方法的说明

  28. 28

    在接口中使用泛型,重复该方法

  29. 29

    在不使用类名称空间的情况下声明对象

热门标签

归档