damondeng
发贴: 15
积分: 0
|
于 2006-05-24 10:35
接口只是一个声明, 它不能控制程序, 但它能为程序的控制提供一个标准.
听起来有点复杂, 我自己在这么理解的: 比如, 你如果你声明你实现了"好公民"这个接口, 你就必须实现"好公民"规定的所有方法, 比如"被人问路"这个方法, 如果别人问路你都不理, 说明你没有实现"被人问路"的方法, 系统是不充许的, 即然你都声明是一个"好公民"了, 你必须实现"被人问路"的方法. 也正因为系统会做这样的检查, 当别人发现你声明是一个"好公民"时, 他可以放心地向你问路, 因为他知道你实现了"被人问路"的方法. 但是具体怎么回答别人"好公民"接口是不会规定的, 得你自己实现, 你要是张嘴乱说一气系统也没办法, 说不定问路人也相信了. 所以说, 接口只是规定了一种标准.
说到actionPerformed(),它的调用是由JVM触发的, JVM检测到某个鼠标动作(或者是键盘动作), JVM会确定有那些类在listen当前这个组件, 然后调用它们的actionPerformed()方法, 正因为它们都实现了ActionListener接口(没查API, 具体接口名不确定是不是这个), JVM可以放心地调用它们的actionPerformed()方法.
comparable接口也一样, 你要是声明你实现了comparable接口, 你必须实现compareTo方法, 具体实现是由你完成的(当然, 有些系统提供的类已经实现了这一方法, 可以不用再实现). 实现了compareTo方法后, 它们也不会"自动"排序, 还是得由外界程序直接或者是简接调用compareTo方法才行。
不知道有没有回答你的问题
|