Java 接口“;切割“;跨类层次结构
我正在读一本关于安卓系统的书,但在一本迷你书中浏览了一些java内容。我已经读过一本关于Java的书,并且了解接口。书上说 实现层次结构的接口(如果可以称之为 “层次结构”)跨越类扩展层次结构。这个想法是正确的 如图4-1所示,其中我垂直显示类扩展 并水平显示接口实现。(安卓的 KeyboardView类位于android.inputmethod服务包中。 清单4-3中的KeyboardView和自制的MyListener类 实现Android的OnClickListener接口。) 伯德,巴里(2011-11-14)。安卓应用开发一体机 对于假人(第197页)。约翰·威利和他的儿子们。Kindle版Java 接口“;切割“;跨类层次结构,java,class,interface,Java,Class,Interface,我正在读一本关于安卓系统的书,但在一本迷你书中浏览了一些java内容。我已经读过一本关于Java的书,并且了解接口。书上说 实现层次结构的接口(如果可以称之为 “层次结构”)跨越类扩展层次结构。这个想法是正确的 如图4-1所示,其中我垂直显示类扩展 并水平显示接口实现。(安卓的 KeyboardView类位于android.inputmethod服务包中。 清单4-3中的KeyboardView和自制的MyListener类 实现Android的OnClickListener接口。) 伯德,巴
“切割accross类层次结构”是否仅仅意味着兄弟类都扩展了接口。。。我不明白他们用这个图指出了什么,并说它横穿了图4-3中的类垂直继承人。。。请解释是否有比我从中得到的更深刻的特殊概念…MyListener和
KeyboardView
-类都实现了OnClickListener
-接口。这使得这两个类都OnClickListener
s
其思想如下:每个类都派生自一个基类(Object
是可用的最基本类)。这使得每个类都成为对象。从面向对象的角度考虑,你能说的最抽象的东西是,它是一个对象
回到接口,假设您有两个接口,Singer
和Writer
。一个人可以是歌手,也可以是作家。但他/她也可以两者兼而有之
实现Singer
和/或Writer
可以告诉您有关对象的更多信息。一些代码:
class Guy implements Singer, Writer{
// Empty
}
Guy chris = new Guy();
hireWriter(chris); // Accepts "Writer" as it's parameter
hireSinger(chris); // Accepts "Singer" as it's parameter
通过实现接口,您可以告诉代码此对象是:
对象
歌手
Writer
通过提供更多关于类的信息,而不是从更多的类派生,而是通过实现接口,这“贯穿了类的层次结构”。谢谢@Lukas Knuth我认为对我最大的帮助不仅仅是它说出了我认为它所陈述的内容,但是在hireWriter和hireSigner调用中显示,根据参数,Guy类被视为两个独立的东西。